Todas las aplicaciones y proyectos de código abierto que utilizan el módulo terfile de Python son potencialmente vulnerables, según la empresa de ciberseguridad Trellix. Actualmente, 350.000 proyectos y aplicaciones de código abierto están en riesgo.
La vulnerabilidad, rastreada como CVE-2007-4559, tiene una gravedad de 6,8 y fue descubierta en 2007. Trellix explicó que los piratas informáticos pueden explotar la vulnerabilidad cargando un archivo malicioso generado con dos o tres líneas de código utilizando tarfile.extract sin desinfectar o la configuración por defecto de tarfile.extractall.
También puede Leer | ¿Por qué aprender Python?
Los investigadores descubrieron cientos de miles de repositorios de GitHub vulnerables. También descubrieron 2,87 millones de archivos de código abierto que contenían el módulo tarfile de Python en aproximadamente 588.000 repositorios únicos, de los cuales el 61% (350.000) eran vulnerables.
La vulnerabilidad podría ser aprovechada por los hackers para ejecutar código arbitrario o tomar el control del dispositivo. Kasimir Schulz, investigador del Centro de Investigación Avanzada Trellix, descubrió la vulnerabilidad. Schulz describió la vulnerabilidad como un ataque de recorrido en las funciones extract y extractall encontradas en el módulo terfile, que permiten a los atacantes sobrescribir archivos arbitrarios añadiendo la secuencia ".." a los nombres de archivos en un TAR.
Para protegerse de los ataques, los desarrolladores deben comprobar el directorio de destino en el que el archivo tar escribe los datos, lo que ayudará a garantizar que los datos sólo se extraigan en el directorio previsto por el desarrollador. Trellix también está trabajando en el envío de código a través de GitHub para proteger los proyectos de código abierto del fallo.
También puede Leer | Python mejor lenguaje de programación para algoritmos comerciales
Cómo se redescubrió la vulnerabilidad CVE-2007-4559
El investigador del Centro de Investigación Avanzada de Trellix, Kasimir Schulz, becario de investigación de vulnerabilidades en Trellix, ayudó a encontrar el problema mientras investigaba una vulnerabilidad no relacionada.
"Inicialmente pensamos que habíamos encontrado una nueva vulnerabilidad de día cero", dijo en un blog. "A medida que investigamos el problema, nos dimos cuenta de que en realidad se trataba de la CVE-2007-4559".
La CVE-2007-4559 es un ataque de cruce de rutas en las funciones extract y extractall del módulo tarfile que permite a un atacante sobrescribir archivos arbitrarios añadiendo la secuencia ".." a los nombres de los archivos en un archivo TAR, dijo Schulz.
Utilizando el acceso estándar a GitHub, los investigadores de Trellix descubrieron que cientos de miles de repositorios de GitHub eran vulnerables. Trabajando con GitHub, encontraron 2,87 millones de archivos de código abierto que contenían el módulo tarfile de Python en alrededor de 588.000 repositorios únicos - el 61% de los cuales, o 350.000, eran vulnerables a ser atacados a través del módulo tarfile.
"Este es el poder devastador de CVE-2007-4559", dijo McKee. "Está en un lenguaje de programación muy utilizado, por lo que afecta a una gama muy amplia de productos de usuario final".
A pesar de que la vulnerabilidad era conocida, se ha permitido su propagación a través de tutoriales que demuestran incorrectamente cómo desplegar de forma segura el módulo tarfile. Incluso la propia documentación de Python proporciona información incorrecta, dijo Trellix.
Otras noticias: