
Comprender el error de travesía de ruta en el módulo tarfile de Python
Recientemente, un equipo de investigadores en seguridad anunció el descubrimiento de un error de quince años de antigüedad en la funcionalidad de extracción de archivos tar de Python. La vulnerabilidad se reveló por primera vez en 2007 y se siguió como 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 podría afectar a miles de proyectos de software, pero muchas personas desconocen la situación y cómo gestionarla. Por eso, aquí en Secure Code Warrior, le ofrecemos la posibilidad de simular usted mismo la explotación de esta vulnerabilidad para comprobar de primera mano su impacto y adquirir experiencia práctica sobre los mecanismos de este error persistente, con el fin de proteger mejor su aplicación.
Prueba ahora la simulación Mission.
La vulnerabilidad: cruce de caminos durante la extracción del archivo tar
La traversée de chemin ou de répertoire se produce cuando se utiliza una entrada de usuario no limpia para crear una ruta de archivo, lo que permite a un atacante acceder a los archivos y sustituirlos, e incluso ejecutar código arbitrario.
La vulnerabilidad existe en el módulo goudron de Python. Un archivo tar (archivo en cinta) es un archivo único, denominado archivo. Agrupa varios archivos con sus metadatos y suele reconocerse por la extensión .tar.gz o .tgz. Cada miembro del archivo puede representarse mediante un objeto de información sobre estrellas, que contiene metadatos, como el nombre del archivo, la hora de modificación, la propiedad, etc.
El riesgo proviene de la capacidad de los archivos para ser extraídos nuevamente.
Durante la extracción, cada miembro necesita una ruta en la que escribir. Esta ubicación se crea uniendo la ruta base al nombre del archivo:

Una vez creado este camino, se transmite al tarfile.extract o tarfile.extractall para realizar la extracción:

El problema aquí es la falta de limpieza del nombre del archivo. Un atacante podría renombrar los archivos para incluir caracteres de travesía de ruta, como la barra inclinada (../), lo que sacaría el archivo del directorio en el que se supone que debe estar y sustituiría archivos arbitrarios. Esto podría conducir eventualmente a la ejecución de código remoto, lo que es susceptible de ser explotado.
La vulnerabilidad aparece en otros escenarios, si sabes cómo identificarla. Además de la gestión de archivos tar por Python, la vulnerabilidad existe en la extracción de archivos zip. Quizás la conozcas con otro nombre, como vulnerabilidad Zip Slip, que se ha manifestado en otros lenguajes además de Python.
¿Cómo puede mitigar los riesgos?
Aunque la vulnerabilidad se conoce desde hace años, los responsables de Python consideran que la función de extracción funciona como se supone que debe hacerlo. En este caso, algunos pueden decir «es una función, no un error». Desgraciadamente, los desarrolladores no siempre pueden evitar extraer archivos tar o zip de una fuente desconocida. Es su responsabilidad limpiar las entradas no fiables para evitar vulnerabilidades relacionadas con el cruce de rutas en el marco de prácticas de desarrollo seguras.
¿Desea obtener más información sobre cómo escribir código seguro y mitigar los riesgos con Python?
Prueba nuestro Desafío Python gratuito.
Si desea obtener más directrices de codificación gratuitas, consulte Coach de code sécurisé para ayudarle a mantenerse al día con las prácticas de codificación seguras.


Recientemente, un equipo de investigadores en seguridad anunció el descubrimiento de un error de quince años de antigüedad en la funcionalidad de extracción de archivos tar de Python. La vulnerabilidad se reveló por primera vez en 2007 y se identificó con el nombre CVE-2007-4559. Se añadió una nota a la documentación oficial de Python, pero el error en sí no se corrigió.

Secure Code Warrior aquí para ayudar a su organización a proteger el código a lo largo de todo el ciclo de desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de la seguridad de las aplicaciones, desarrollador, responsable de la seguridad informática o cualquier otra persona involucrada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código no seguro.
Reserve una demostraciónLaura Verheyde est une développeuse de logiciels chez Secure Code Warrior qui se concentre sur la recherche de vulnérabilités et la création de contenu pour les missions et les laboratoires de codage.


Recientemente, un equipo de investigadores en seguridad anunció el descubrimiento de un error de quince años de antigüedad en la funcionalidad de extracción de archivos tar de Python. La vulnerabilidad se reveló por primera vez en 2007 y se siguió como 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 podría afectar a miles de proyectos de software, pero muchas personas desconocen la situación y cómo gestionarla. Por eso, aquí en Secure Code Warrior, le ofrecemos la posibilidad de simular usted mismo la explotación de esta vulnerabilidad para comprobar de primera mano su impacto y adquirir experiencia práctica sobre los mecanismos de este error persistente, con el fin de proteger mejor su aplicación.
Prueba ahora la simulación Mission.
La vulnerabilidad: cruce de caminos durante la extracción del archivo tar
La traversée de chemin ou de répertoire se produce cuando se utiliza una entrada de usuario no limpia para crear una ruta de archivo, lo que permite a un atacante acceder a los archivos y sustituirlos, e incluso ejecutar código arbitrario.
La vulnerabilidad existe en el módulo goudron de Python. Un archivo tar (archivo en cinta) es un archivo único, denominado archivo. Agrupa varios archivos con sus metadatos y suele reconocerse por la extensión .tar.gz o .tgz. Cada miembro del archivo puede representarse mediante un objeto de información sobre estrellas, que contiene metadatos, como el nombre del archivo, la hora de modificación, la propiedad, etc.
El riesgo proviene de la capacidad de los archivos para ser extraídos nuevamente.
Durante la extracción, cada miembro necesita una ruta en la que escribir. Esta ubicación se crea uniendo la ruta base al nombre del archivo:

Una vez creado este camino, se transmite al tarfile.extract o tarfile.extractall para realizar la extracción:

El problema aquí es la falta de limpieza del nombre del archivo. Un atacante podría renombrar los archivos para incluir caracteres de travesía de ruta, como la barra inclinada (../), lo que sacaría el archivo del directorio en el que se supone que debe estar y sustituiría archivos arbitrarios. Esto podría conducir eventualmente a la ejecución de código remoto, lo que es susceptible de ser explotado.
La vulnerabilidad aparece en otros escenarios, si sabes cómo identificarla. Además de la gestión de archivos tar por Python, la vulnerabilidad existe en la extracción de archivos zip. Quizás la conozcas con otro nombre, como vulnerabilidad Zip Slip, que se ha manifestado en otros lenguajes además de Python.
¿Cómo puede mitigar los riesgos?
Aunque la vulnerabilidad se conoce desde hace años, los responsables de Python consideran que la función de extracción funciona como se supone que debe hacerlo. En este caso, algunos pueden decir «es una función, no un error». Desgraciadamente, los desarrolladores no siempre pueden evitar extraer archivos tar o zip de una fuente desconocida. Es su responsabilidad limpiar las entradas no fiables para evitar vulnerabilidades relacionadas con el cruce de rutas en el marco de prácticas de desarrollo seguras.
¿Desea obtener más información sobre cómo escribir código seguro y mitigar los riesgos con Python?
Prueba nuestro Desafío Python gratuito.
Si desea obtener más directrices de codificación gratuitas, consulte Coach de code sécurisé para ayudarle a mantenerse al día con las prácticas de codificación seguras.

Recientemente, un equipo de investigadores en seguridad anunció el descubrimiento de un error de quince años de antigüedad en la funcionalidad de extracción de archivos tar de Python. La vulnerabilidad se reveló por primera vez en 2007 y se siguió como 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 podría afectar a miles de proyectos de software, pero muchas personas desconocen la situación y cómo gestionarla. Por eso, aquí en Secure Code Warrior, le ofrecemos la posibilidad de simular usted mismo la explotación de esta vulnerabilidad para comprobar de primera mano su impacto y adquirir experiencia práctica sobre los mecanismos de este error persistente, con el fin de proteger mejor su aplicación.
Prueba ahora la simulación Mission.
La vulnerabilidad: cruce de caminos durante la extracción del archivo tar
La traversée de chemin ou de répertoire se produce cuando se utiliza una entrada de usuario no limpia para crear una ruta de archivo, lo que permite a un atacante acceder a los archivos y sustituirlos, e incluso ejecutar código arbitrario.
La vulnerabilidad existe en el módulo goudron de Python. Un archivo tar (archivo en cinta) es un archivo único, denominado archivo. Agrupa varios archivos con sus metadatos y suele reconocerse por la extensión .tar.gz o .tgz. Cada miembro del archivo puede representarse mediante un objeto de información sobre estrellas, que contiene metadatos, como el nombre del archivo, la hora de modificación, la propiedad, etc.
El riesgo proviene de la capacidad de los archivos para ser extraídos nuevamente.
Durante la extracción, cada miembro necesita una ruta en la que escribir. Esta ubicación se crea uniendo la ruta base al nombre del archivo:

Una vez creado este camino, se transmite al tarfile.extract o tarfile.extractall para realizar la extracción:

El problema aquí es la falta de limpieza del nombre del archivo. Un atacante podría renombrar los archivos para incluir caracteres de travesía de ruta, como la barra inclinada (../), lo que sacaría el archivo del directorio en el que se supone que debe estar y sustituiría archivos arbitrarios. Esto podría conducir eventualmente a la ejecución de código remoto, lo que es susceptible de ser explotado.
La vulnerabilidad aparece en otros escenarios, si sabes cómo identificarla. Además de la gestión de archivos tar por Python, la vulnerabilidad existe en la extracción de archivos zip. Quizás la conozcas con otro nombre, como vulnerabilidad Zip Slip, que se ha manifestado en otros lenguajes además de Python.
¿Cómo puede mitigar los riesgos?
Aunque la vulnerabilidad se conoce desde hace años, los responsables de Python consideran que la función de extracción funciona como se supone que debe hacerlo. En este caso, algunos pueden decir «es una función, no un error». Desgraciadamente, los desarrolladores no siempre pueden evitar extraer archivos tar o zip de una fuente desconocida. Es su responsabilidad limpiar las entradas no fiables para evitar vulnerabilidades relacionadas con el cruce de rutas en el marco de prácticas de desarrollo seguras.
¿Desea obtener más información sobre cómo escribir código seguro y mitigar los riesgos con Python?
Prueba nuestro Desafío Python gratuito.
Si desea obtener más directrices de codificación gratuitas, consulte Coach de code sécurisé para ayudarle a mantenerse al día con las prácticas de codificación seguras.

Haga clic en el enlace siguiente y descargue el PDF de este recurso.
Secure Code Warrior aquí para ayudar a su organización a proteger el código a lo largo de todo el ciclo de desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de la seguridad de las aplicaciones, desarrollador, responsable de la seguridad informática o cualquier otra persona involucrada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código no seguro.
Mostrar el informeReserve una demostraciónLaura Verheyde est une développeuse de logiciels chez Secure Code Warrior qui se concentre sur la recherche de vulnérabilités et la création de contenu pour les missions et les laboratoires de codage.
Recientemente, un equipo de investigadores en seguridad anunció el descubrimiento de un error de quince años de antigüedad en la funcionalidad de extracción de archivos tar de Python. La vulnerabilidad se reveló por primera vez en 2007 y se siguió como 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 podría afectar a miles de proyectos de software, pero muchas personas desconocen la situación y cómo gestionarla. Por eso, aquí en Secure Code Warrior, le ofrecemos la posibilidad de simular usted mismo la explotación de esta vulnerabilidad para comprobar de primera mano su impacto y adquirir experiencia práctica sobre los mecanismos de este error persistente, con el fin de proteger mejor su aplicación.
Prueba ahora la simulación Mission.
La vulnerabilidad: cruce de caminos durante la extracción del archivo tar
La traversée de chemin ou de répertoire se produce cuando se utiliza una entrada de usuario no limpia para crear una ruta de archivo, lo que permite a un atacante acceder a los archivos y sustituirlos, e incluso ejecutar código arbitrario.
La vulnerabilidad existe en el módulo goudron de Python. Un archivo tar (archivo en cinta) es un archivo único, denominado archivo. Agrupa varios archivos con sus metadatos y suele reconocerse por la extensión .tar.gz o .tgz. Cada miembro del archivo puede representarse mediante un objeto de información sobre estrellas, que contiene metadatos, como el nombre del archivo, la hora de modificación, la propiedad, etc.
El riesgo proviene de la capacidad de los archivos para ser extraídos nuevamente.
Durante la extracción, cada miembro necesita una ruta en la que escribir. Esta ubicación se crea uniendo la ruta base al nombre del archivo:

Una vez creado este camino, se transmite al tarfile.extract o tarfile.extractall para realizar la extracción:

El problema aquí es la falta de limpieza del nombre del archivo. Un atacante podría renombrar los archivos para incluir caracteres de travesía de ruta, como la barra inclinada (../), lo que sacaría el archivo del directorio en el que se supone que debe estar y sustituiría archivos arbitrarios. Esto podría conducir eventualmente a la ejecución de código remoto, lo que es susceptible de ser explotado.
La vulnerabilidad aparece en otros escenarios, si sabes cómo identificarla. Además de la gestión de archivos tar por Python, la vulnerabilidad existe en la extracción de archivos zip. Quizás la conozcas con otro nombre, como vulnerabilidad Zip Slip, que se ha manifestado en otros lenguajes además de Python.
¿Cómo puede mitigar los riesgos?
Aunque la vulnerabilidad se conoce desde hace años, los responsables de Python consideran que la función de extracción funciona como se supone que debe hacerlo. En este caso, algunos pueden decir «es una función, no un error». Desgraciadamente, los desarrolladores no siempre pueden evitar extraer archivos tar o zip de una fuente desconocida. Es su responsabilidad limpiar las entradas no fiables para evitar vulnerabilidades relacionadas con el cruce de rutas en el marco de prácticas de desarrollo seguras.
¿Desea obtener más información sobre cómo escribir código seguro y mitigar los riesgos con Python?
Prueba nuestro Desafío Python gratuito.
Si desea obtener más directrices de codificación gratuitas, consulte Coach de code sécurisé para ayudarle a mantenerse al día con las prácticas de codificación seguras.
Índice

Secure Code Warrior aquí para ayudar a su organización a proteger el código a lo largo de todo el ciclo de desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de la seguridad de las aplicaciones, desarrollador, responsable de la seguridad informática o cualquier otra persona involucrada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código no seguro.
Reserve una demostraciónDescargarRecursos para ayudarle a empezar
Temas y contenidos de formación sobre el código seguro
Nuestro contenido de vanguardia evoluciona constantemente para adaptarse al panorama en constante cambio del desarrollo de software, teniendo en cuenta su función. Temas que abarcan desde la IA hasta la inyección de XQuery, ofrecidos para una variedad de puestos, desde arquitectos hasta ingenieros, pasando por jefes de producto y control de calidad. Descubra una visión general de lo que nuestro catálogo de contenidos tiene para ofrecer por tema y por función.
La Cámara de Comercio establece el estándar para la seguridad impulsada por desarrolladores a gran escala
Kamer van Koophandel comparte cómo ha integrado la codificación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de Trust Score y una cultura de responsabilidad compartida en materia de seguridad.
Modelado de amenazas con IA: convertir a cada desarrollador en un modelador de amenazas
Saldrá mejor equipado para ayudar a los desarrolladores a combinar ideas y técnicas de modelado de amenazas con las herramientas de IA que ya utilizan para reforzar la seguridad, mejorar la colaboración y crear software más resistente desde el principio.
Recursos para ayudarle a empezar
Cybermon está de vuelta: las missions Beat the Boss ya están disponibles bajo demanda.
Cybermon 2025 Beat the Boss ya está disponible todo el año en SCW. Implemente desafíos de seguridad avanzados relacionados con la IA y el LLM para reforzar el desarrollo seguro de la IA a gran escala.
Explicación de la ley sobre ciberresiliencia: lo que significa para el desarrollo de software seguro desde el diseño.
Descubra qué exige la ley europea sobre ciberresiliencia (CRA), a quién se aplica y cómo los equipos de ingenieros pueden prepararse mediante prácticas de seguridad desde el diseño, la prevención de vulnerabilidades y el refuerzo de las capacidades de los desarrolladores.
Facilitador 1: Criterios de éxito definidos y medibles
El facilitador 1 da inicio a nuestra serie de 10 partes titulada «Facilitadores del éxito», mostrando cómo combinar la codificación segura con resultados comerciales, como la reducción de riesgos y la rapidez, para garantizar la madurez a largo plazo de los programas.




%20(1).avif)
.avif)
