
Técnica de codificación segura: el comportamiento predeterminado de las bibliotecas Zip puede provocar la ejecución remota de código
Esta semana vamos a hablar sobre el comportamiento predeterminado de las bibliotecas Zip. Si es un desarrollador de aplicaciones, es muy probable que lo haya usado antes. La mayoría de los recursos que se descargan a través de Internet están en formato zip, esto tiene sentido; los datos comprimidos son más pequeños, por lo que se descargan más rápido y consumen menos ancho de banda.
Si quieres ejemplos más concretos: texturas para juegos, paquetes de idiomas para completar automáticamente en teclados,... Muchos recursos no se incluyen automáticamente en la aplicación, sino que se descargan más adelante.
Sin embargo, tenga cuidado al utilizar esta funcionalidad, ya que los nombres de archivo de los archivos zip pueden contener información sobre el recorrido de las rutas. Cuando se extraigan, esto provocará que los archivos se creen fuera del directorio deseado. Esto se hace a menudo con la intención de sobrescribir los archivos existentes.

Supongamos que tenemos un archivo zip que contiene los dos archivos siguientes:
archivo1
.. /archivo2
Cuando se extrae este archivo, el archivo1 se extrae donde esperamos que esté, en el directorio de descompresión. Sin embargo, el archivo2 se escribió en un directorio superior al que pedimos a la biblioteca zip que extrajera el archivo.
Así que ten cuidado, si tu biblioteca zip no se ocupa de gestionar adecuadamente este caso, permitirá a un atacante escribir un archivo arbitrario en el sistema. Compruebe siempre si su biblioteca es segura. Esta regla general es válida para cualquier biblioteca, pero en particular debe comprobar el comportamiento predeterminado de su biblioteca zip para este tipo de archivos.
Vamos a demostrar las consecuencias cuando este caso no se maneja correctamente en Android. En Android, se usa la biblioteca Java Zip (java.util.zip), que permite recorrer rutas como se explicó anteriormente de forma predeterminada.
El formato ejecutable Dalvik de Android (.dex) tiene limitaciones en cuanto a la cantidad de clases que puede tener un solo archivo. Las apps que necesitan más clases pueden usar la biblioteca de compatibilidad de MultiDex, que se ha agregado desde el nivel 21 de la API (Android 5.0 Lollipop). Esta biblioteca guarda los archivos.dex secundarios en el directorio de datos de la aplicación. El usuario de la aplicación puede escribir en este directorio y este código se cargará y ejecutará cuando se necesite el archivo.dex.
Esto significa que un atacante puede modificar el archivo.dex sobrescribiéndolo con un archivo zip malintencionado y, lo que es peor, este archivo se cargará y ejecutará, lo que generará una vulnerabilidad de ejecución remota de código. Esto no es solo un ejemplo teórico, sino que se ha demostrado en la aplicación My Talking Tom, que cuenta con más de 100 millones de descargas en la tienda de aplicaciones. Este es un vídeo del exploit que se presentó en Black Hat.

Compruebe siempre el comportamiento de su biblioteca zip para estar al tanto de sus inseguridades. Si no puedes deshabilitar el recorrido por rutas en tu biblioteca zip, asegúrate de validar el nombre de cada entrada antes de extraerla. El nombre debe estar canonizado y la ruta resultante debe estar en el directorio en el que deseas extraer el archivo. Ya que estamos en ello, también deberías comprobar el tamaño total del archivo extraído para evitar que se produzcan bombas zip, pero esto será una entrada durante una semana más.
Si quieres juega algunos desafíos al atravesar el camino o quieres poner a prueba tus habilidades de codificación segura, echa un vistazo a nuestra plataforma.
Nos vemos la próxima vez y recuerda, ¡con código seguro o sin código!
- Podemos inyectar un archivo en un zip cuyo nombre tenga como prefijo un número arbitrario de "../»
- Si la biblioteca zip no se ocupa de gestionar correctamente este caso, nos permitiría escribir fuera del directorio de extracción previsto
- Si el archivo zip no es de confianza, el atacante presenta una vulnerabilidad de escritura arbitraria


Podemos inyectar un archivo en un zip cuyo nombre tenga como prefijo un
Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

Secure Code Warrior hier, um Ihrem Unternehmen dabei zu helfen, den Code während des gesamten Lebenszyklus der Softwareentwicklung zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie AppSec-Administrator, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Eine Vorführung buchenAnwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat


Esta semana vamos a hablar sobre el comportamiento predeterminado de las bibliotecas Zip. Si es un desarrollador de aplicaciones, es muy probable que lo haya usado antes. La mayoría de los recursos que se descargan a través de Internet están en formato zip, esto tiene sentido; los datos comprimidos son más pequeños, por lo que se descargan más rápido y consumen menos ancho de banda.
Si quieres ejemplos más concretos: texturas para juegos, paquetes de idiomas para completar automáticamente en teclados,... Muchos recursos no se incluyen automáticamente en la aplicación, sino que se descargan más adelante.
Sin embargo, tenga cuidado al utilizar esta funcionalidad, ya que los nombres de archivo de los archivos zip pueden contener información sobre el recorrido de las rutas. Cuando se extraigan, esto provocará que los archivos se creen fuera del directorio deseado. Esto se hace a menudo con la intención de sobrescribir los archivos existentes.

Supongamos que tenemos un archivo zip que contiene los dos archivos siguientes:
archivo1
.. /archivo2
Cuando se extrae este archivo, el archivo1 se extrae donde esperamos que esté, en el directorio de descompresión. Sin embargo, el archivo2 se escribió en un directorio superior al que pedimos a la biblioteca zip que extrajera el archivo.
Así que ten cuidado, si tu biblioteca zip no se ocupa de gestionar adecuadamente este caso, permitirá a un atacante escribir un archivo arbitrario en el sistema. Compruebe siempre si su biblioteca es segura. Esta regla general es válida para cualquier biblioteca, pero en particular debe comprobar el comportamiento predeterminado de su biblioteca zip para este tipo de archivos.
Vamos a demostrar las consecuencias cuando este caso no se maneja correctamente en Android. En Android, se usa la biblioteca Java Zip (java.util.zip), que permite recorrer rutas como se explicó anteriormente de forma predeterminada.
El formato ejecutable Dalvik de Android (.dex) tiene limitaciones en cuanto a la cantidad de clases que puede tener un solo archivo. Las apps que necesitan más clases pueden usar la biblioteca de compatibilidad de MultiDex, que se ha agregado desde el nivel 21 de la API (Android 5.0 Lollipop). Esta biblioteca guarda los archivos.dex secundarios en el directorio de datos de la aplicación. El usuario de la aplicación puede escribir en este directorio y este código se cargará y ejecutará cuando se necesite el archivo.dex.
Esto significa que un atacante puede modificar el archivo.dex sobrescribiéndolo con un archivo zip malintencionado y, lo que es peor, este archivo se cargará y ejecutará, lo que generará una vulnerabilidad de ejecución remota de código. Esto no es solo un ejemplo teórico, sino que se ha demostrado en la aplicación My Talking Tom, que cuenta con más de 100 millones de descargas en la tienda de aplicaciones. Este es un vídeo del exploit que se presentó en Black Hat.

Compruebe siempre el comportamiento de su biblioteca zip para estar al tanto de sus inseguridades. Si no puedes deshabilitar el recorrido por rutas en tu biblioteca zip, asegúrate de validar el nombre de cada entrada antes de extraerla. El nombre debe estar canonizado y la ruta resultante debe estar en el directorio en el que deseas extraer el archivo. Ya que estamos en ello, también deberías comprobar el tamaño total del archivo extraído para evitar que se produzcan bombas zip, pero esto será una entrada durante una semana más.
Si quieres juega algunos desafíos al atravesar el camino o quieres poner a prueba tus habilidades de codificación segura, echa un vistazo a nuestra plataforma.
Nos vemos la próxima vez y recuerda, ¡con código seguro o sin código!
- Podemos inyectar un archivo en un zip cuyo nombre tenga como prefijo un número arbitrario de "../»
- Si la biblioteca zip no se ocupa de gestionar correctamente este caso, nos permitiría escribir fuera del directorio de extracción previsto
- Si el archivo zip no es de confianza, el atacante presenta una vulnerabilidad de escritura arbitraria

Esta semana vamos a hablar sobre el comportamiento predeterminado de las bibliotecas Zip. Si es un desarrollador de aplicaciones, es muy probable que lo haya usado antes. La mayoría de los recursos que se descargan a través de Internet están en formato zip, esto tiene sentido; los datos comprimidos son más pequeños, por lo que se descargan más rápido y consumen menos ancho de banda.
Si quieres ejemplos más concretos: texturas para juegos, paquetes de idiomas para completar automáticamente en teclados,... Muchos recursos no se incluyen automáticamente en la aplicación, sino que se descargan más adelante.
Sin embargo, tenga cuidado al utilizar esta funcionalidad, ya que los nombres de archivo de los archivos zip pueden contener información sobre el recorrido de las rutas. Cuando se extraigan, esto provocará que los archivos se creen fuera del directorio deseado. Esto se hace a menudo con la intención de sobrescribir los archivos existentes.

Supongamos que tenemos un archivo zip que contiene los dos archivos siguientes:
archivo1
.. /archivo2
Cuando se extrae este archivo, el archivo1 se extrae donde esperamos que esté, en el directorio de descompresión. Sin embargo, el archivo2 se escribió en un directorio superior al que pedimos a la biblioteca zip que extrajera el archivo.
Así que ten cuidado, si tu biblioteca zip no se ocupa de gestionar adecuadamente este caso, permitirá a un atacante escribir un archivo arbitrario en el sistema. Compruebe siempre si su biblioteca es segura. Esta regla general es válida para cualquier biblioteca, pero en particular debe comprobar el comportamiento predeterminado de su biblioteca zip para este tipo de archivos.
Vamos a demostrar las consecuencias cuando este caso no se maneja correctamente en Android. En Android, se usa la biblioteca Java Zip (java.util.zip), que permite recorrer rutas como se explicó anteriormente de forma predeterminada.
El formato ejecutable Dalvik de Android (.dex) tiene limitaciones en cuanto a la cantidad de clases que puede tener un solo archivo. Las apps que necesitan más clases pueden usar la biblioteca de compatibilidad de MultiDex, que se ha agregado desde el nivel 21 de la API (Android 5.0 Lollipop). Esta biblioteca guarda los archivos.dex secundarios en el directorio de datos de la aplicación. El usuario de la aplicación puede escribir en este directorio y este código se cargará y ejecutará cuando se necesite el archivo.dex.
Esto significa que un atacante puede modificar el archivo.dex sobrescribiéndolo con un archivo zip malintencionado y, lo que es peor, este archivo se cargará y ejecutará, lo que generará una vulnerabilidad de ejecución remota de código. Esto no es solo un ejemplo teórico, sino que se ha demostrado en la aplicación My Talking Tom, que cuenta con más de 100 millones de descargas en la tienda de aplicaciones. Este es un vídeo del exploit que se presentó en Black Hat.

Compruebe siempre el comportamiento de su biblioteca zip para estar al tanto de sus inseguridades. Si no puedes deshabilitar el recorrido por rutas en tu biblioteca zip, asegúrate de validar el nombre de cada entrada antes de extraerla. El nombre debe estar canonizado y la ruta resultante debe estar en el directorio en el que deseas extraer el archivo. Ya que estamos en ello, también deberías comprobar el tamaño total del archivo extraído para evitar que se produzcan bombas zip, pero esto será una entrada durante una semana más.
Si quieres juega algunos desafíos al atravesar el camino o quieres poner a prueba tus habilidades de codificación segura, echa un vistazo a nuestra plataforma.
Nos vemos la próxima vez y recuerda, ¡con código seguro o sin código!
- Podemos inyectar un archivo en un zip cuyo nombre tenga como prefijo un número arbitrario de "../»
- Si la biblioteca zip no se ocupa de gestionar correctamente este caso, nos permitiría escribir fuera del directorio de extracción previsto
- Si el archivo zip no es de confianza, el atacante presenta una vulnerabilidad de escritura arbitraria

Klicken Sie auf den untenstehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.
Secure Code Warrior hier, um Ihrem Unternehmen dabei zu helfen, den Code während des gesamten Lebenszyklus der Softwareentwicklung zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie AppSec-Administrator, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Bericht anzeigenEine Vorführung buchenAnwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat
Esta semana vamos a hablar sobre el comportamiento predeterminado de las bibliotecas Zip. Si es un desarrollador de aplicaciones, es muy probable que lo haya usado antes. La mayoría de los recursos que se descargan a través de Internet están en formato zip, esto tiene sentido; los datos comprimidos son más pequeños, por lo que se descargan más rápido y consumen menos ancho de banda.
Si quieres ejemplos más concretos: texturas para juegos, paquetes de idiomas para completar automáticamente en teclados,... Muchos recursos no se incluyen automáticamente en la aplicación, sino que se descargan más adelante.
Sin embargo, tenga cuidado al utilizar esta funcionalidad, ya que los nombres de archivo de los archivos zip pueden contener información sobre el recorrido de las rutas. Cuando se extraigan, esto provocará que los archivos se creen fuera del directorio deseado. Esto se hace a menudo con la intención de sobrescribir los archivos existentes.

Supongamos que tenemos un archivo zip que contiene los dos archivos siguientes:
archivo1
.. /archivo2
Cuando se extrae este archivo, el archivo1 se extrae donde esperamos que esté, en el directorio de descompresión. Sin embargo, el archivo2 se escribió en un directorio superior al que pedimos a la biblioteca zip que extrajera el archivo.
Así que ten cuidado, si tu biblioteca zip no se ocupa de gestionar adecuadamente este caso, permitirá a un atacante escribir un archivo arbitrario en el sistema. Compruebe siempre si su biblioteca es segura. Esta regla general es válida para cualquier biblioteca, pero en particular debe comprobar el comportamiento predeterminado de su biblioteca zip para este tipo de archivos.
Vamos a demostrar las consecuencias cuando este caso no se maneja correctamente en Android. En Android, se usa la biblioteca Java Zip (java.util.zip), que permite recorrer rutas como se explicó anteriormente de forma predeterminada.
El formato ejecutable Dalvik de Android (.dex) tiene limitaciones en cuanto a la cantidad de clases que puede tener un solo archivo. Las apps que necesitan más clases pueden usar la biblioteca de compatibilidad de MultiDex, que se ha agregado desde el nivel 21 de la API (Android 5.0 Lollipop). Esta biblioteca guarda los archivos.dex secundarios en el directorio de datos de la aplicación. El usuario de la aplicación puede escribir en este directorio y este código se cargará y ejecutará cuando se necesite el archivo.dex.
Esto significa que un atacante puede modificar el archivo.dex sobrescribiéndolo con un archivo zip malintencionado y, lo que es peor, este archivo se cargará y ejecutará, lo que generará una vulnerabilidad de ejecución remota de código. Esto no es solo un ejemplo teórico, sino que se ha demostrado en la aplicación My Talking Tom, que cuenta con más de 100 millones de descargas en la tienda de aplicaciones. Este es un vídeo del exploit que se presentó en Black Hat.

Compruebe siempre el comportamiento de su biblioteca zip para estar al tanto de sus inseguridades. Si no puedes deshabilitar el recorrido por rutas en tu biblioteca zip, asegúrate de validar el nombre de cada entrada antes de extraerla. El nombre debe estar canonizado y la ruta resultante debe estar en el directorio en el que deseas extraer el archivo. Ya que estamos en ello, también deberías comprobar el tamaño total del archivo extraído para evitar que se produzcan bombas zip, pero esto será una entrada durante una semana más.
Si quieres juega algunos desafíos al atravesar el camino o quieres poner a prueba tus habilidades de codificación segura, echa un vistazo a nuestra plataforma.
Nos vemos la próxima vez y recuerda, ¡con código seguro o sin código!
- Podemos inyectar un archivo en un zip cuyo nombre tenga como prefijo un número arbitrario de "../»
- Si la biblioteca zip no se ocupa de gestionar correctamente este caso, nos permitiría escribir fuera del directorio de extracción previsto
- Si el archivo zip no es de confianza, el atacante presenta una vulnerabilidad de escritura arbitraria
Inhaltsverzeichnis
Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

Secure Code Warrior hier, um Ihrem Unternehmen dabei zu helfen, den Code während des gesamten Lebenszyklus der Softwareentwicklung zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie AppSec-Administrator, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Eine Vorführung buchenHerunterladenRessourcen für den Einstieg
Trust Agent:AI - Secure and scale AI-Drive development
AI is writing code. Who’s governing it? With up to 50% of AI-generated code containing security weaknesses, managing AI risk is critical. Discover how SCW's Trust Agent: AI provides the real-time visibility, proactive governance, and targeted upskilling needed to scale AI-driven development securely.
Die Leistungsfähigkeit von OpenText Application Security + Secure Code Warrior
OpenText Application Security and Secure Code Warrior combine vulnerability detection with AI Software Governance and developer capability. Together, they help organizations reduce risk, strengthen secure coding practices, and confidently adopt AI-driven development.
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.
Themen und Inhalte der Schulung zum Thema sicherer Code
Unsere branchenführenden Inhalte werden ständig weiterentwickelt, um sich an die sich wandelnde Landschaft der Softwareentwicklung anzupassen und dabei Ihre Rolle zu berücksichtigen. Es werden Themen angeboten, die von KI bis hin zu XQuery-Injektion reichen und sich an verschiedene Positionen richten, von Architekten und Ingenieuren bis hin zu Produktmanagern und Qualitätskontrolleuren. Verschaffen Sie sich einen Überblick über unser Angebot an Inhalten nach Thema und Funktion.
Ressourcen für den Einstieg
Cybermon ist zurück: Die KI-Missionen von Beat the Boss sind jetzt auf Abruf verfügbar.
Cybermon 2025 Beat the Boss ist jetzt das ganze Jahr über bei SCW verfügbar. Implementieren Sie fortschrittliche KI- und LLM-Sicherheitsherausforderungen, um die sichere Entwicklung von KI in großem Maßstab zu stärken.
Erläuterung des Gesetzes zur Cyberresilienz: Was bedeutet es für die Entwicklung sicherer Software?
Entdecken Sie, was das EU-Gesetz zur Cyberresilienz (CRA) verlangt, für wen es gilt und wie sich Ingenieurteams mit sicheren Designpraktiken, der Vermeidung von Schwachstellen und der Entwicklung von Fähigkeiten für Entwickler darauf vorbereiten können.




