La vulnerabilidad Zip Slip afecta a miles de proyectos en múltiples ecosistemas

La vulnerabilidad Zip Slip afecta a miles de proyectos en múltiples ecosistemas

Los investigadores de seguridad han revelado hoy detalles sobre una vulnerabilidad crítica que afecta a las bibliotecas de código abierto que manejan archivos comprimidos.

Descubierta por los investigadores de Synk, la vulnerabilidad "Zip Slip" es un problema en la forma en que los codificadores, complementos y bibliotecas han implementado el proceso de descomprimir un archivo archivado.

Numerosos formatos de archivo, incluidos tar, jar, war, cpio, apk, rar y 7z, se ven afectados, lo que significa que se trata más de un problema teórico que de un error de codificación específico.

La vulnerabilidad hace que los archivos se descompriman en lugares incorrectos

Según los investigadores, Zip Slip es una combinación entre una "sobrescritura arbitraria de archivos" y un "recorrido de directorio" que puede conducir a situaciones en las que un atacante puede descomprimir archivos fuera de la ruta de descompresión normal y sobrescribir archivos confidenciales, como bibliotecas críticas del sistema operativo o del servidor de Archivos de configuración.

"Las dos partes necesarias para explotar esta vulnerabilidad es un archivo malicioso y un código de extracción que no realiza la verificación de validación", dijo el equipo de Synk hoy en un aviso de seguridad.

Los investigadores dijeron que encontraron este defecto en abril y que han estado trabajando con los responsables del mantenimiento de varias bibliotecas de código abierto que eran vulnerables a este ataque.

Varias bibliotecas de código abierto afectadas

El equipo de Synk ha publicado una lista de bibliotecas afectadas por Zip Slip en GitHub.

Aunque se sabe que las bibliotecas escritas en varios lenguajes de programación se ven afectadas, como JavaScript, Python, Ruby, .NET, Go y Groovy, el problema afecta principalmente al ecosistema de Java porque no se recomienda una biblioteca oficial para manejar archivos comprimidos.

En cambio, los desarrolladores han creado y utilizado una variedad de bibliotecas para este propósito, la mayoría de las cuales son vulnerables a Zip Slip. Además, el problema es tan generalizado que incluso se descubrió que algunos códigos compartidos en StackOverflow eran vulnerables a Zip Slip, lo que significa que muchas aplicaciones de escritorio, móviles o web escritas en Java pueden ser vulnerables a Zip Slip sin que los desarrolladores lo sepan.

Para ayudar a los desarrolladores a comprender el ataque de Zip Slip y ayudarlos a detectar si sus aplicaciones son vulnerables, el equipo de Synk ha publicado un documento técnico que detalla el error de Zip Slip con mucha más profundidad.

Los investigadores también han publicado archivos Zip Slip de prueba de concepto para que los desarrolladores puedan probar sus aplicaciones en busca de la vulnerabilidad.

Un video de demostración también está disponible a continuación: