
Exploit para CVE-2025-11001
El resultado de mi rápida investigación sobre CVE-2025-11001 se presenta en este repositorio. El exploit está escrito en Python y utiliza el gestor de proyectos astral uv.
Algunas:
No profundizaré demasiado en los detalles técnicos de esta vulnerabilidad de seguridad. Si quieres hacerlo, lee un buen análisis de causa raíz de pacbypass y consulta el diff de la corrección en GitHub. A continuación, solo una breve descripción.
El problema radica en el mecanismo de manejo de enlaces simbólicos. Cuando pasamos el enlace simbólico de Linux a una ruta absoluta de Windows (por ejemplo, C:\), el enlace aún se trata como relativo. Debido a eso, nuestra ruta relativa a la carpeta donde extraemos archivos se antepone a la ruta del enlace simbólico, permitiéndonos realizar un path traversal en el destino. Esto nos abre la posibilidad de escribir en cualquier archivo que 7-Zip tenga permiso de escribir.
La explotación es bastante directa. Solo necesitamos agregar un enlace simbólico que apunte al directorio de destino y agregar un archivo de payload. El enlace se desempaquetará primero y luego el archivo de payload se escribirá en ese enlace simbólico, permitiéndonos escribir archivos arbitrarios.
[!CAUTION] ¡Ten cuidado al usar este PoC exploit! Abre y descomprime los archivos de salida solo en un entorno de prueba.
Para usarlo, primero actualiza el exploit/resources/config.toml:
[path]
# An output path (target zip file)
output = 'resource/output/result.zip'
# A dir with files that will be added to archive
source = 'path/to/some/dir'
# A target dir (dir with file to replace)
target = 'C:\Windows\System32'
# Payload (a file that will be placed instead of original one)
payload = 'C:\Windows\System32\calc.exe'
Luego simplemente ejecuta:
uv run src/main.py
Y observa el archivo zip resultante.
Después de descomprimir el archivo usando una compilación vulnerable de 7-Zip en Windows (builds < 25.0), el archivo objetivo será reemplazado con el payload. El archivo se extraerá correctamente, pero con una carpeta oculta .zip en su interior (que contiene el enlace malicioso).
producido por I3r1h0n.