
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
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.
Die Kamer van Koophandel setzt Maßstäbe für entwicklergesteuerte Sicherheit in großem Maßstab
Die Kamer van Koophandel berichtet, wie sie sicheres Codieren durch rollenbasierte Zertifizierungen, Trust Score-Benchmarking und eine Kultur der gemeinsamen Verantwortung für Sicherheit in die tägliche Entwicklungsarbeit integriert hat.
Bedrohungsmodellierung mit KI: So wird jeder Entwickler zum Bedrohungsmodellierer
Sie werden besser gerüstet sein, um Entwicklern dabei zu helfen, Ideen und Techniken zur Bedrohungsmodellierung mit den KI-Tools zu kombinieren, die sie bereits verwenden, um die Sicherheit zu erhöhen, die Zusammenarbeit zu verbessern und von Anfang an widerstandsfähigere Software zu entwickeln.
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.
SCW feiert sein 11-jähriges Bestehen: eine Lektion in Echtzeit über Anpassungsfähigkeit und kontinuierliche Verbesserung
2025 war ein großartiges Jahr für KI, Cybersicherheit und SCW. Ich gehe mit ruhiger Zuversicht und dem Optimismus, den nur harte und lohnende Arbeit mit sich bringen kann, auf das Jahr 2026 zu.




%20(1).avif)
.avif)
