Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-20660 — Exploit PoC independiente para CVE-2026-20660: path traversal en el decodificador gzip de Safari. El servidor entrega un gzip malicioso para escribir archivos arbitrarios en macOS vulnerable. | Kitploit
Herramientas/GitHubGitHub/retx0/cve-2026-20660
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de Penetración
GitHubretx0/cve-2026-20660

CVE-2026-20660

Exploit PoC independiente para CVE-2026-20660: path traversal en el decodificador gzip de Safari. El servidor entrega un gzip malicioso para escribir archivos arbitrarios en macOS vulnerable.

Ver Repositorio
22hace 5 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-20660 Paquete PoC

Esta carpeta incluye una prueba de concepto independiente para:

  • CVE-2026-20660
  • CFNetwork NSGZipDecoder traversal de ruta mediante FNAME de gzip
  • Impacto en Safari de macOS vulnerable con apertura automática habilitada

1. Estructura de directorios

  • server.py: servidor PoC principal con profundidad de traversal y nombre de destino configurables
  • server_overwrite.py: variante enfocada que escribe ../../pwn.sh
  • README.md: notas de reproducción y registro de operación

2. Requisitos previos

  1. El objetivo es Safari de macOS vulnerable (anterior a la línea de parche 26.3).
  2. Ajuste de Safari habilitado:
    • Preferencias -> General -> Abrir archivos seguros después de descargar
  • Puede acceder a este host desde el navegador objetivo.
  • 3. Resumen de la causa raíz

    El diff del parche muestra que -[NSGZipDecoder filenameWithOriginalFilename:] cambió su comportamiento:

    • Comportamiento anterior: devolvía directamente el nombre derivado de FNAME de gzip.
    • Comportamiento nuevo: aplica lastPathComponent antes de devolverlo.

    Esto bloquea componentes de directorio como ../ y rutas absolutas en FNAME.

    4. Por qué Content-Disposition no es el vector

    El nombre de archivo HTTP puede ser limpio y aun así el exploit tiene éxito.

    • Nombre de archivo HTTP Content-Disposition: limpio (ejemplo: report.gz)
    • FNAME del encabezado gzip: malicioso (ejemplo: ../../proof.txt)

    La sanitización del lado de Safari se aplica principalmente a los nombres de la capa HTTP, no al FNAME de gzip incrustado que consume NSGZipDecoder en el flujo vulnerable.

    5. Inicio rápido

    Desde la raíz del repositorio:

    root@kitploit:~
    python3 exploit/cve-2026-20660/server.py --port 8888 --depth 2
    

    Abrir en Safari vulnerable:

    root@kitploit:~
    http://<server-ip>:8888/
    

    Haz clic en Trigger depth=2.

    6. Validación

    Después de activar el exploit, verifica el resultado de la escritura en la máquina objetivo:

    root@kitploit:~
    ls -la ~/cve-2026-20660-proof.txt
    cat ~/cve-2026-20660-proof.txt
    

    Para la variante de sobrescritura:

    root@kitploit:~
    python3 exploit/cve-2026-20660/server_overwrite.py --port 9999
    

    Luego abre:

    root@kitploit:~
    http://<server-ip>:9999/
    

    Comprueba:

    root@kitploit:~
    ls -la ~/pwn.sh
    cat ~/pwn.sh
    

    7. Notas sobre los parámetros (server.py)

    • --bind, -b: dirección de enlace (por defecto 0.0.0.0)
    • --port, -p: puerto de escucha (por defecto 8888)
    • --depth, -d: profundidad de traversal (número de repeticiones de ../, por defecto 2)
    • --name, -n: nombre del archivo de salida objetivo

    Ejemplos:

    root@kitploit:~
    # write to ~/proof.txt when depth matches runtime directory nesting
    python3 exploit/cve-2026-20660/server.py -p 8888 -d 2 -n proof.txt
    
    # explicit absolute path test (if resolver permits)
    python3 exploit/cve-2026-20660/server.py -p 8888
    # then use: /download?depth=0&fname=/tmp/proof.txt
    

    8. Comportamiento observado (notas actuales)

    1. La descompresión puede ocurrir en un directorio temporal bajo ~/Downloads, por lo que la profundidad a menudo debe ser >= 2 para escapar a ~/.
    2. Es posible que los archivos de destino existentes no se sobrescriban; la pila de descargas puede renombrar automáticamente para evitar colisiones.
    3. Los payloads de script pueden aparecer con bits de ejecutable en las ejecuciones observadas; valida según compilación/configuración.

    9. Solución de problemas

    1. No se observa escritura:
      • Confirma que el ajuste de apertura automática de Safari está habilitado.
      • Aumenta la profundidad (2, 3, 4) y vuelve a probar.
    2. El archivo permanece en Descargas:
      • La profundidad es insuficiente para el anidamiento actual del directorio de descompresión.
    3. La conexión falla:
      • Confirma el firewall del host y la accesibilidad en la LAN.
    4. La ruta de destino no cambia:
      • Un conflicto con el nombre de archivo existente puede provocar que la salida se renombre.

    10. Seguridad y alcance

    Usar únicamente en entornos de pruebas autorizados.

    • No apuntes a sistemas sin permiso explícito.
    • Mantén los payloads no destructivos para la reproducibilidad.
    • Guarda capturas de pantalla/registros como evidencia de la evaluación.

    11. Recopilación de evidencia sugerida

    1. Captura de pantalla de la versión de Safari y la compilación del sistema operativo.
    2. Registros de la consola del servidor PoC (solicitud + FNAME).
    3. Comandos de verificación del sistema de archivos y su salida.
    4. Listado de directorio antes/después para la ruta de destino.

    12. Informe detallado

    Para una explicación más detallada, consulta:

    • https://ret0.dev/posts/cve-2026-20660/
    Descargar herramienta