Iconos SCW
héroe bg sin separador
Blog

Comprender el error de exploración de rutas del módulo tarfile de Python

Laura Verheyde
Publicado el 03 de octubre de 2022
Última actualización el 9 de marzo de 2026

Recientemente, un equipo de investigadores de seguridad anunció que había descubierto un error de 15 años en la función de extracción de archivos tar de Python. Esta vulnerabilidad se reveló por primera vez en 2007 y se le asignó el número CVE-2007-4559. Se añadió una nota a la documentación oficial de Python, pero el error en sí no se corrigió.

Esta vulnerabilidad puede afectar a miles de proyectos de software, pero muchas personas no están familiarizadas con la situación en la que se encuentran ni con cómo gestionarla. Por eso estamos aquí. Secure Code Warrior simula directamente el aprovechamiento de esta vulnerabilidad para que pueda experimentar de primera mano el mecanismo de este error permanente. ¡Así podrá proteger mejor sus aplicaciones!

Simulación de misión ahora.

Vulnerabilidad: exploración de rutas durante la extracción de archivos tar.

La exploración de rutas o directorios se produce cuando las entradas de usuario no eliminadas ayudan a configurar la ruta del archivo. Esto permite a los atacantes acceder al archivo, sobrescribirlo y modificar código arbitrario.

Esta vulnerabilidad se encuentra en Python. El módulo tar.tar (archivo de cinta) es un único archivo denominado archivo. Empaqueta varios archivos junto con metadatos y, por lo general, se puede reconocer por el espacio .tar.gz o .tgz. Cada miembro del archivo descomprimido puede ser lo siguiente. Archivo de información tar Objeto que contiene metadatos como el nombre del archivo, la hora de modificación, la propiedad, etc.

Existe el riesgo de que se pueda volver a extraer el archivo.

Al extraer, se necesita un nombre para todos los miembros. Esta ubicación apunta a la ruta del archivo predeterminado.

Fragmento de Python Tarfile.py


Una vez creada esta ruta, se transfiere a la siguiente ruta. Archivo tar. Extraer o Archivo tar.Extracción completa Función que realiza la extracción:

Fragmento de Python Tarfile.py

El problema con los archivos aquí es la falta de higiene en los nombres. Los atacantes pueden cambiar los nombres de los archivos para incluir caracteres de exploración de rutas como los siguientes. Si se utilizan dos puntos y dos barras (../), el archivo original puede convertirse en

Si sabes cómo identificar vulnerabilidades, estas también aparecerán en otros escenarios. La vulnerabilidad de Python al procesar archivos tar es la siguiente: extracción de archivos zip. Es posible que ya conozcas este contenido con el siguiente nombre: vulnerabilidad zip slip. ¡Su verdadero valor también se ha puesto de manifiesto en otros lenguajes distintos de Python!

Enlace de misión 

¿Cómo se puede mitigar el riesgo?

<<이 취약점이 수년간 우리에게 다가왔어요. 파이썬 기능이 제대로 작동하고 있다고 생각해요. 해야 할 일.이 경우 “버그가 기능이야” 라고 말하는 사람이 없는 것입니다.안타깝게도 개발자들이 알 수 없는 곳에서 tar 또는 zip 파일을 추출하는 것을 항상 기억할 수 없습니다.보안 관행의 일환으로 경로 탐색 취약점을 지키기 위해 최선을 다하는 것은 개발자의 몫입니다.

¿Desea obtener más información sobre cómo escribir código seguro con Python y mitigar los riesgos?

Vea nuestro producto de prueba Python Challenge gratis.

Si está interesado en obtener más directrices de codificación gratuitas, vuelva a visitarnos. Secure Code Coach Security le ayuda a mantener sus prácticas al día.

Ver recursos
Ver recursos

Recientemente, un equipo de investigación de seguridad anunció que había descubierto un error de 15 años en la función de extracción de archivos tar de Python. Esta vulnerabilidad se hizo pública en 2007 y se rastreó inicialmente con la categoría CVE-2007-4559. Se añadió una nota a la documentación oficial de Python, pero la información sobre el error sigue sin parchearse.

¿Le interesa saber más?

Más información

Secure Code Warrior está aquí para ayudar a las organizaciones a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura que priorice la ciberseguridad. Ya seas administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudarte a reducir los riesgos asociados al código inseguro en tu organización.

Reserva de demostración
Destinatarios:
marcas de LinkedInSocialx logotipo
Autor
Laura Verheyde
Publicado el 03 de octubre de 2022

Laura Verheyde es una desarrolladora de software en Secure Code Warrior centrada en la investigación de vulnerabilidades y la creación de contenidos para Missions y Coding labs.

Destinatarios:
marcas de LinkedInSocialx logotipo

Recientemente, un equipo de investigadores de seguridad anunció que había descubierto un error de 15 años en la función de extracción de archivos tar de Python. Esta vulnerabilidad se reveló por primera vez en 2007 y se le asignó el número CVE-2007-4559. Se añadió una nota a la documentación oficial de Python, pero el error en sí no se corrigió.

Esta vulnerabilidad puede afectar a miles de proyectos de software, pero muchas personas no están familiarizadas con la situación en la que se encuentran ni con cómo gestionarla. Por eso estamos aquí. Secure Code Warrior simula directamente el aprovechamiento de esta vulnerabilidad para que pueda experimentar de primera mano el mecanismo de este error permanente. ¡Así podrá proteger mejor sus aplicaciones!

Simulación de misión ahora.

Vulnerabilidad: exploración de rutas durante la extracción de archivos tar.

La exploración de rutas o directorios se produce cuando las entradas de usuario no eliminadas ayudan a configurar la ruta del archivo. Esto permite a los atacantes acceder al archivo, sobrescribirlo y modificar código arbitrario.

Esta vulnerabilidad se encuentra en Python. El módulo tar.tar (archivo de cinta) es un único archivo denominado archivo. Empaqueta varios archivos junto con metadatos y, por lo general, se puede reconocer por el espacio .tar.gz o .tgz. Cada miembro del archivo descomprimido puede ser lo siguiente. Archivo de información tar Objeto que contiene metadatos como el nombre del archivo, la hora de modificación, la propiedad, etc.

Existe el riesgo de que se pueda volver a extraer el archivo.

Al extraer, se necesita un nombre para todos los miembros. Esta ubicación apunta a la ruta del archivo predeterminado.

Fragmento de Python Tarfile.py


Una vez creada esta ruta, se transfiere a la siguiente ruta. Archivo tar. Extraer o Archivo tar.Extracción completa Función que realiza la extracción:

Fragmento de Python Tarfile.py

El problema con los archivos aquí es la falta de higiene en los nombres. Los atacantes pueden cambiar los nombres de los archivos para incluir caracteres de exploración de rutas como los siguientes. Si se utilizan dos puntos y dos barras (../), el archivo original puede convertirse en

Si sabes cómo identificar vulnerabilidades, estas también aparecerán en otros escenarios. La vulnerabilidad de Python al procesar archivos tar es la siguiente: extracción de archivos zip. Es posible que ya conozcas este contenido con el siguiente nombre: vulnerabilidad zip slip. ¡Su verdadero valor también se ha puesto de manifiesto en otros lenguajes distintos de Python!

Enlace de misión 

¿Cómo se puede mitigar el riesgo?

<<이 취약점이 수년간 우리에게 다가왔어요. 파이썬 기능이 제대로 작동하고 있다고 생각해요. 해야 할 일.이 경우 “버그가 기능이야” 라고 말하는 사람이 없는 것입니다.안타깝게도 개발자들이 알 수 없는 곳에서 tar 또는 zip 파일을 추출하는 것을 항상 기억할 수 없습니다.보안 관행의 일환으로 경로 탐색 취약점을 지키기 위해 최선을 다하는 것은 개발자의 몫입니다.

¿Desea obtener más información sobre cómo escribir código seguro con Python y mitigar los riesgos?

Vea nuestro producto de prueba Python Challenge gratis.

Si está interesado en obtener más directrices de codificación gratuitas, vuelva a visitarnos. Secure Code Coach Security le ayuda a mantener sus prácticas al día.

Ver recursos
Ver recursos

Para descargar el informe, rellene el siguiente formulario.

Solicitamos su consentimiento para enviarle información sobre nuestros productos y/o temas relacionados con la codificación de seguridad. Siempre tratamos su información personal con el máximo cuidado y nunca la vendemos a otras empresas con fines de marketing.

Enviar
Icono de éxito de SCW
Icono de error scw
Para enviar el formulario, active la cookie «Analytics». Una vez completado, puede desactivarla en cualquier momento.

Recientemente, un equipo de investigadores de seguridad anunció que había descubierto un error de 15 años en la función de extracción de archivos tar de Python. Esta vulnerabilidad se reveló por primera vez en 2007 y se le asignó el número CVE-2007-4559. Se añadió una nota a la documentación oficial de Python, pero el error en sí no se corrigió.

Esta vulnerabilidad puede afectar a miles de proyectos de software, pero muchas personas no están familiarizadas con la situación en la que se encuentran ni con cómo gestionarla. Por eso estamos aquí. Secure Code Warrior simula directamente el aprovechamiento de esta vulnerabilidad para que pueda experimentar de primera mano el mecanismo de este error permanente. ¡Así podrá proteger mejor sus aplicaciones!

Simulación de misión ahora.

Vulnerabilidad: exploración de rutas durante la extracción de archivos tar.

La exploración de rutas o directorios se produce cuando las entradas de usuario no eliminadas ayudan a configurar la ruta del archivo. Esto permite a los atacantes acceder al archivo, sobrescribirlo y modificar código arbitrario.

Esta vulnerabilidad se encuentra en Python. El módulo tar.tar (archivo de cinta) es un único archivo denominado archivo. Empaqueta varios archivos junto con metadatos y, por lo general, se puede reconocer por el espacio .tar.gz o .tgz. Cada miembro del archivo descomprimido puede ser lo siguiente. Archivo de información tar Objeto que contiene metadatos como el nombre del archivo, la hora de modificación, la propiedad, etc.

Existe el riesgo de que se pueda volver a extraer el archivo.

Al extraer, se necesita un nombre para todos los miembros. Esta ubicación apunta a la ruta del archivo predeterminado.

Fragmento de Python Tarfile.py


Una vez creada esta ruta, se transfiere a la siguiente ruta. Archivo tar. Extraer o Archivo tar.Extracción completa Función que realiza la extracción:

Fragmento de Python Tarfile.py

El problema con los archivos aquí es la falta de higiene en los nombres. Los atacantes pueden cambiar los nombres de los archivos para incluir caracteres de exploración de rutas como los siguientes. Si se utilizan dos puntos y dos barras (../), el archivo original puede convertirse en

Si sabes cómo identificar vulnerabilidades, estas también aparecerán en otros escenarios. La vulnerabilidad de Python al procesar archivos tar es la siguiente: extracción de archivos zip. Es posible que ya conozcas este contenido con el siguiente nombre: vulnerabilidad zip slip. ¡Su verdadero valor también se ha puesto de manifiesto en otros lenguajes distintos de Python!

Enlace de misión 

¿Cómo se puede mitigar el riesgo?

<<이 취약점이 수년간 우리에게 다가왔어요. 파이썬 기능이 제대로 작동하고 있다고 생각해요. 해야 할 일.이 경우 “버그가 기능이야” 라고 말하는 사람이 없는 것입니다.안타깝게도 개발자들이 알 수 없는 곳에서 tar 또는 zip 파일을 추출하는 것을 항상 기억할 수 없습니다.보안 관행의 일환으로 경로 탐색 취약점을 지키기 위해 최선을 다하는 것은 개발자의 몫입니다.

¿Desea obtener más información sobre cómo escribir código seguro con Python y mitigar los riesgos?

Vea nuestro producto de prueba Python Challenge gratis.

Si está interesado en obtener más directrices de codificación gratuitas, vuelva a visitarnos. Secure Code Coach Security le ayuda a mantener sus prácticas al día.

Ver seminario web
Empezar
Más información

Haga clic en el siguiente enlace y descargue el PDF de este recurso.

Secure Code Warrior está aquí para ayudar a las organizaciones a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura que priorice la ciberseguridad. Ya seas administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudarte a reducir los riesgos asociados al código inseguro en tu organización.

Ver informeReserva de demostración
Ver recursos
Destinatarios:
marcas de LinkedInSocialx logotipo
¿Le interesa saber más?

Destinatarios:
marcas de LinkedInSocialx logotipo
Autor
Laura Verheyde
Publicado el 03 de octubre de 2022

Laura Verheyde es una desarrolladora de software en Secure Code Warrior centrada en la investigación de vulnerabilidades y la creación de contenidos para Missions y Coding labs.

Destinatarios:
marcas de LinkedInSocialx logotipo

Recientemente, un equipo de investigadores de seguridad anunció que había descubierto un error de 15 años en la función de extracción de archivos tar de Python. Esta vulnerabilidad se reveló por primera vez en 2007 y se le asignó el número CVE-2007-4559. Se añadió una nota a la documentación oficial de Python, pero el error en sí no se corrigió.

Esta vulnerabilidad puede afectar a miles de proyectos de software, pero muchas personas no están familiarizadas con la situación en la que se encuentran ni con cómo gestionarla. Por eso estamos aquí. Secure Code Warrior simula directamente el aprovechamiento de esta vulnerabilidad para que pueda experimentar de primera mano el mecanismo de este error permanente. ¡Así podrá proteger mejor sus aplicaciones!

Simulación de misión ahora.

Vulnerabilidad: exploración de rutas durante la extracción de archivos tar.

La exploración de rutas o directorios se produce cuando las entradas de usuario no eliminadas ayudan a configurar la ruta del archivo. Esto permite a los atacantes acceder al archivo, sobrescribirlo y modificar código arbitrario.

Esta vulnerabilidad se encuentra en Python. El módulo tar.tar (archivo de cinta) es un único archivo denominado archivo. Empaqueta varios archivos junto con metadatos y, por lo general, se puede reconocer por el espacio .tar.gz o .tgz. Cada miembro del archivo descomprimido puede ser lo siguiente. Archivo de información tar Objeto que contiene metadatos como el nombre del archivo, la hora de modificación, la propiedad, etc.

Existe el riesgo de que se pueda volver a extraer el archivo.

Al extraer, se necesita un nombre para todos los miembros. Esta ubicación apunta a la ruta del archivo predeterminado.

Fragmento de Python Tarfile.py


Una vez creada esta ruta, se transfiere a la siguiente ruta. Archivo tar. Extraer o Archivo tar.Extracción completa Función que realiza la extracción:

Fragmento de Python Tarfile.py

El problema con los archivos aquí es la falta de higiene en los nombres. Los atacantes pueden cambiar los nombres de los archivos para incluir caracteres de exploración de rutas como los siguientes. Si se utilizan dos puntos y dos barras (../), el archivo original puede convertirse en

Si sabes cómo identificar vulnerabilidades, estas también aparecerán en otros escenarios. La vulnerabilidad de Python al procesar archivos tar es la siguiente: extracción de archivos zip. Es posible que ya conozcas este contenido con el siguiente nombre: vulnerabilidad zip slip. ¡Su verdadero valor también se ha puesto de manifiesto en otros lenguajes distintos de Python!

Enlace de misión 

¿Cómo se puede mitigar el riesgo?

<<이 취약점이 수년간 우리에게 다가왔어요. 파이썬 기능이 제대로 작동하고 있다고 생각해요. 해야 할 일.이 경우 “버그가 기능이야” 라고 말하는 사람이 없는 것입니다.안타깝게도 개발자들이 알 수 없는 곳에서 tar 또는 zip 파일을 추출하는 것을 항상 기억할 수 없습니다.보안 관행의 일환으로 경로 탐색 취약점을 지키기 위해 최선을 다하는 것은 개발자의 몫입니다.

¿Desea obtener más información sobre cómo escribir código seguro con Python y mitigar los riesgos?

Vea nuestro producto de prueba Python Challenge gratis.

Si está interesado en obtener más directrices de codificación gratuitas, vuelva a visitarnos. Secure Code Coach Security le ayuda a mantener sus prácticas al día.

Índice

Descargar PDF
Ver recursos
¿Le interesa saber más?

Más información

Secure Code Warrior está aquí para ayudar a las organizaciones a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura que priorice la ciberseguridad. Ya seas administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudarte a reducir los riesgos asociados al código inseguro en tu organización.

Reserva de demostraciónDescargar
Destinatarios:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos útiles para empezar

Más publicaciones
Centro de recursos

Recursos útiles para empezar

Más publicaciones