CSIRTCV

Está usted visitando una publicación en la hemeroteca de CSIRT-CV.
Para acceder al portal y contenido actual, visite https://www.csirtcv.gva.es

03/06/2011

Cross Site Scripting en Nagios 3.2.3

La fallada es produeix per una mala gestió dels paràmetres d'entrada, en visualitzar la configuració de l'aplicació.

Risc: Baix

Stefan Schurtz ha anunciat –a través del bugtracker de Nagios– que el famós programa de codi lliure per a la monitorització de xarxes és vulnerable a atacs de Cross Site Scripting.

La vulnerabilitat radica, com en la majoria dels casos de XSS, en una falta de validació de valors subministrats per l'usuari. Per a això, l'usuari objectiu de l'atac hauria d'accedir a una URL especialment manipulada que, en concret, contindria l'atac en el paràmetre 'expand' de l'arxiu 'config.cgi'.

Per a comprovar si s'és vulnerable, bastaria navegar per les opcions "View Config" i "Command Expansió", i introduir algun codi script en el camp "To expand". Tot seguit es mostren dos URL d'exemple que contenen el XSS.


http://www.example.com/nagios/cgi-bin/config.cgi?type=command&expand=<script>alert(String.fromCharCode(88,83,83))</script>
http://www.example.com/nagios/cgi-bin/config.cgi?type=command&expand=<body onload=alert(666)>

La vulnerabilitat s'ha verificat amb èxit en la versió 3.2.3 de Nagios, encara que no es descarta que hi haja altres versions afectades.

Sistemes Afectats:

Nagios 3.2.3

Referències:

None

Solució:

Des de la web oficial de Nagios indiquen que la solució és tan simple com escapar els caràcters especials, presents en la dita variable, a través de la funció 'escape_string'. El canvi a realitzar seria el següent (en el fitxer config.c):

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

Notes:

http://www.hispasec.com/unaaldia/4604
http://tracker.nagios.org/view.php?id=224
http://www.rul3z.de/advisories/SSCHADV2011-006.txt

Font: Hispasec una-al-día

CSIRT-CV