350.000 proyectos de código abierto en riesgo por la vulnerabilidad de Python


La vulnerabilidad del módulo tarfile de Python N-day de quince años pone la cadena de suministro de software bajo el microscopio.

Escritura de funciones de programación en la computadora portátil.  Nueva revolución tecnológica.  Primer plano del código fuente.  Tendencia de big data e Internet de las cosas.  Concepto de hacker de codificación.  Código JavaScript en el editor de texto.
Imagen: maciek905 / Adobe Stock

La empresa de seguridad cibernética Trellix anunció el miércoles que una vulnerabilidad conocida de Python pone en riesgo a 350.000 proyectos de código abierto y las aplicaciones que los utilizan de que se apoderen de los dispositivos o se ejecute código malicioso. Todas las aplicaciones que usan el módulo tarfile de Python están potencialmente en riesgo.

VER: Kit de contratación: desarrollador de Python (TechRepublic Quality)

El módulo tarfile de Python, que es el módulo predeterminado instalado en cualquier proyecto que use Python y se encuentra ampliamente en los marcos creados por Netflix, AWS, Intel, Fb, Google y las aplicaciones utilizadas para el aprendizaje automático, la automatización y la contenedorización de Docker, dijo Trellix.

Los piratas informáticos pueden apoderarse de los dispositivos mediante el uso de esta vulnerabilidad

la vulnerabilidad, CVE-2007-4559, se descubrió originalmente en 2007 y se le otorgó una puntuación de riesgo medio de 6,8 sobre 10. Puede explotarse cargando un archivo malicioso generado con dos o tres líneas de código utilizando tarfile.extract sin desinfectar o los valores predeterminados integrados de tarfile .extraer todo. Una vez pirateados, los atacantes pueden ejecutar código arbitrario o tomar el handle del dispositivo, dijo Trellix.

Se desconoce cuántas aplicaciones en vivo utilizan el módulo tarfile y no se ha producido ninguna explotación conocida de la vulnerabilidad en la naturaleza, dijo Doug McKee, ingeniero principal y director de Vulnerability Study en Trellix. Tampoco está al tanto de ningún escáner que busque el exploit.

“Debido a una vulnerabilidad que no se corrigió hace 15 años en una cadena principal de suministro de software program, cientos de miles de piezas de software program son vulnerables a un ataque hoy, lo que puede llevar a un compromiso completo del sistema”, dijo McKee. “Al igual que los eventos de Log4j, cada organización deberá determinar si se ven afectados y cómo, por lo que estamos lanzando un guión para ayudar con ese proceso de discernimiento”.

El script para buscar aplicaciones vulnerables está disponible en GitHub.

Cómo se redescubrió la vulnerabilidad CVE-2007-4559

El investigador del Centro de Investigación Avanzada de Trellix, Kasimir Schulz, un pasante 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 una entrada de blog site. “A medida que investigamos el problema, nos dimos cuenta de que, de hecho, se trataba de CVE-2007-4559”.

CVE-2007-4559 es un ataque de cruce de ruta en las funciones extract y extractall en el módulo tarfile que permite a un atacante sobrescribir archivos arbitrarios agregando la secuencia «..» a los nombres de archivo en un archivo TAR, dijo Schulz.

Utilizando el acceso estándar de 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 que se united states ampliamente, por lo tanto, afecta a una amplia gama de productos de usuario final».

Aunque se conocía la vulnerabilidad, se ha permitido que se propague a través de tutoriales que muestran incorrectamente cómo implementar de forma segura el módulo tarfile. Incluso la propia documentación de Python proporciona información incorrecta, dijo Trellix.

Qué pueden hacer las empresas para evitar un ataque

Para explotar la vulnerabilidad, se requiere que un atacante cargue un archivo tar malicioso, dijo McKee. Para evitar ser pirateado, los desarrolladores deben verificar el directorio de destino donde el archivo tar está escribiendo datos para asegurarse de que los datos solo se extraigan al directorio previsto por el desarrollador. .

Trellix está trabajando para impulsar el código a través de la solicitud de extracción de GitHub para proteger los proyectos de código abierto de la vulnerabilidad. Trellix actualmente tiene parches disponibles para 11 005 repositorios listos para solicitudes de incorporación de cambios. Cada parche se agregará a un repositorio bifurcado.



Enlace a la noticia first