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

El fallo se produce por una mala gestión de los parámetros de entrada al visualizar la configuración de la aplicación.

Riesgo: Bajo

Stefan Schurtz ha anunciado a través del bugtracker de Nagios que el famoso programa de código libre para la monitorización de redes es vulnerable a ataques de Cross Site Scripting.

La vulnerabilidad radica, como en la mayoría de los casos de XSS, en una falta de validación de valores suministrados por el usuario. Para ello, el usuario objetivo del ataque debería acceder a una URL especialmente manipulada, que, en concreto, contendría el ataque en el parámetro 'expand' del archivo 'config.cgi'.

Para comprobar si se es vulnerable, bastaría con navegar por las opciones "View Config" y "Command Expansion", e introducir algún código script en el campo "To expand". A continuación se muestran dos URL de ejemplo que contienen 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 vulnerabilidad se ha verificado con éxito en la versión 3.2.3 de Nagios, aunque no se descarta que haya otras versiones afectadas.

Sistemas Afectados:

Nagios 3.2.3

Referencias:

None

Solución:

Desde la web oficial de Nagios indican que la solución es tan simple como escapar los caracteres especiales presentes en dicha variable a través de la función 'escape_string'. El cambio a realizar sería el siguiente (en el fichero config.c):
Sustituir:
printf("<TR CLASS='dataEven'><TD CLASS='dataEven'>To expand:</TD><TD CLASS='dataEven'>%s",command_args[0]);
Por:
printf("<TR CLASS='dataEven'><TD CLASS='dataEven'>To expand:</TD><TD CLASS='dataEven'>%s",escape_string(command_args[0]));

Notas:

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

Fuente: Hispasec una-al-día

CSIRT-CV