Latest YouTube Video
Friday, January 8, 2016
[FD] [CVE-2015-8604] Cacti SQL injection in graphs_new.php
Application: Cacti Vendor URL: http://www.cacti.net Bugs: SQL injection Author:changzhao.mao(DBAPPSecurity Ltd) Version affected: 0.8.8f and prior ================================ Introduction ================================ Cacti is a complete frontend to RRDTool, it stores all of the necessary information to create graphs and populate them with data in a MySQL database. The frontend is completely PHP driven. Along with being able to maintain Graphs, Data Sources, and Round Robin Archives in a database, cacti handles the data gathering. There is also SNMP support for those used to creating traffic graphs with MRTG. SQL injection vulnerabilities has been discovered.The vulnerability allows any users to execute own sql commands to compromise the web-applicaation or database management system. SQL injection Vulnerability has been discovered in Cacti(0.8.8f) and prior , which can be exploited by any user to conduct SQL Injection attacks.A patch has been released http://ift.tt/1ZSO3KB . ================================ [Vulnerability info] ================================ in graphs_new.php , trace parameter cg_g function form_save() { if (isset($_POST["save_component_graph"])) { /* summarize the 'create graph from host template/snmp index' stuff into an array */ while (list($var, $val) = each($_POST)) { if (preg_match('/^cg_(\d+)$/', $var, $matches)) { $selected_graphs["cg"]{$matches[1]}{$matches[1]} = true; //cg_g is not filtered }elseif (preg_match('/^cg_g$/', $var)) { if ($_POST["cg_g"] > 0) { $selected_graphs["cg"]{$_POST["cg_g"]}{$_POST["cg_g"]} = true; } }elseif (preg_match('/^sg_(\d+)_([a-f0-9]{32})$/', $var, $matches)) { $selected_graphs["sg"]{$matches[1]}{$_POST{"sgg_" . $matches[1]}}{$matches[2]} = true; } } if (isset($selected_graphs)) { host_new_graphs($_POST["host_id"], $_POST["host_template_id"], $selected_graphs); exit; } header("Location: graphs_new.php?host_id=" . $_POST["host_id"]); } if (isset($_POST["save_component_new_graphs"])) { host_new_graphs_save(); header("Location: graphs_new.php?host_id=" . $_POST["host_id"]); } } function host_new_graphs($host_id, $host_template_id, $selected_graphs_array) { /* we use object buffering on this page to allow redirection to another page if no fields are actually drawn */ ob_start(); include_once("./include/top_header.php"); print "
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment