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
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.
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]));
http://www.hispasec.com/unaaldia/4604
http://tracker.nagios.org/view.php?id=224
http://www.rul3z.de/advisories/SSCHADV2011-006.txt