Francisco Alejandro Cifuentes Torres Cyber SOC Expert

Investigadores de la empresa Trellix han explotado una vulnerabilidad que fue reportada en el año 2007 sobre un paquete de Python el cual estaría siendo usado en más de 350.000 desarrollos en la actualidad. Esta vulnerabilidad permitiría al atacante sobre escribir cualquier archivo del sistema al ser una vulnerabilidad de path traversal.

Uno de los primeros comentarios entregados por el investigador Kasimir Schulz en su reporte fue “Pensamos que estamos ante una nueva vulnerabilidad de día cero, pero al investigar un poco nos dimos cuenta de que era un fallo reportado hace 15 años atrás (2007)” identificado como CVE-2007-4559 esta vulnerabilidad permite realizar un ataque de path traversal o directorio transversal el cual permite salirse de la ruta de ejecución y poder consultar y/o sobrescribir archivos propios del sistema.

El fallo se encontró puntualmente sobre la librería tarfile, la cual está encargada de recolectar y definir múltiples datos de un archivo como metadatos donde se incluye el nombre del archivo y las fechas de creación y modificación. Al ser una librería básica en Python, muchos proyectos desarrollados la incluyen y la usan. Y su explotación se basa en adicionar “..” con un separador dependiendo del sistema operativo que puede ser “/” o “\” dentro del nombre del archivo para que una vez se ejecute el código del exploit, este permita saltar a una ruta del sistema y desde allí poder ejecutar y/o visualizar archivos del sistema.

Aunque ya había sido identificada, la propia empresa dueña de Python había indicado que este problema ya estaba solucionado, pero realmente lo único que hicieron fue poner un mensaje de advertencia en la documentación el cual decía “que podría ser peligroso extraer archivos de fuentes no confiables”, por el momento, no tiene un parche oficial, sin embargo, no se ha hecho pública una explotación de esta. Por otro lado, el mismo equipo de Trellix resalta que es muy fácil generar una explotación, hacen hincapié en que tan solo con 6 líneas de código es posible realizar la explotación de esta y lo han demostrado con la POC realizada sobre la aplicación Spyder, logrando obtener un mensaje de explotación sobre un ambiente Windows.

Luego de identificar que se presentaba este fallo, estos investigadores desarrollaron una herramienta que permite hacer un checkeo sobre los diferentes archivos .py de una aplicación para identificar si existe algún riesgo ante esta vulnerabilidad entregando un resultado basado en un nivel de certeza que puede ir desde vulnerable, probablemente vulnerable y potencialmente vulnerable, esta herramienta fue denominada Creosote y puede ser descargada desde su Github público para que los equipos de desarrollo puedan realizar un escaneo de sus aplicaciones.

Recomendaciones:

Aunque aún no se ha generado un parche de este fallo, se recomienda utilizar la herramienta publicada “Creosote” para identificar algún desarrollo que pueda tener esta debilidad en sus librerías. La empresa Trellix está liderando una campaña de corrección de fallos sobre múltiples desarrollos de Github, se esperaría que en las próximas semanas se pueda contar con una solución definitiva a este problema.

Fuentes:

Info@etek.com

Colombia                      Perú                                India

+57 (1) 2571520              +51 (1) 6124343             +91-9873451221