Sí, puede haber.
El riesgo principal al descomprimir las cremalleras es que sobrescribe un archivo ejecutable o de configuración. Por ejemplo, si el zip contiene un .bashrc
y lo extrae en su directorio de inicio, podría sobrescribir el suyo y la próxima vez que inicie sesión, se ejecutará el código del atacante.
En el peor de los casos, considere un servidor web que abra archivos zip, tal vez de subidas de usuarios, porque unzip
ejecutará el mismo privilegio que el proceso del servidor web, y es probable que pueda sobrescribir archivos ejecutables o de configuración que pertenecen al Servidor web. Es de esperar que el administrador no esté ejecutando el proceso del servidor web como root de manera descuidada.
Hubo una vulnerabilidad pública reciente llamada Zip Slip que hizo esto aún peor: algunas herramientas de descompresión permitían los nombres de archivo para contener ..
dentro de un archivo zip, lo que hace que este ataque sea aún más peligroso porque un archivo zip que contenga el siguiente archivo sobrescribirá a /bin/ls
, sin importar en qué lugar del sistema de archivos esté intentando extraerlo:
../../../../../../../../../../../../../../../../../bin/ls
(o cualquier otro ejecutable que el proceso de extracción tenga permiso para sobrescribir)
Higiene adecuada de extracción de cremallera:
- Si es posible, verifique la autenticidad del archivo zip antes de extraerlo (lo obtuvo de un lugar confiable, suma de comprobación, firma, etc.).
- Si es posible, evita ejecutar
unzip
como root, de esa manera los archivos del sistema no se pueden sobrescribir.
- Si es posible, descomprima en un nuevo directorio limpio para que, salvo las explotaciones chroot como Zip Slip arriba, no haya nada en esa carpeta que sobrescribir.