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
Herramientas/GitHubGitHub/ivanesk315/cve-2026-42533
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebFuzzingPapers e InvestigaciónAprendizaje y EducaciónLabs y Práctica
GitHubivanesk315/cve-2026-42533

CVE-2026-42533

Laboratorio Docker que reproduce CVE-2026-42533, un desbordamiento de heap e info leak pre-auth en nginx mediante clobbering de captura en dos pasadas, con scripts PoC y comparación parcheada.

hace 0 díasAún no revisado
Ver Repositorio

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

Laboratorio CVE-2026-42533 — RCE por Clobbering de Capturas en Dos Pasadas en NGINX

CVSS 9.2 (Crítico) — Desbordamiento de búfer en el heap pre-autenticación + fuga de información en nginx Afectados: nginx 0.9.6 – 1.30.3 / 1.31.2 | Parcheados: 1.30.4 / 1.31.3

Arquitectura

root@kitploit:~
                    ┌─────────────────────────────────────┐
                    │           Máquina anfitriona         │
                    │                                      │
  Scripts PoC ──────┤  :8080 ──► nginx-vuln  (1.26.x)     │
                    │              │          VULNERABLE    │
                    │              ▼                        │
                    │           backend (Python echo)       │
                    │              ▲                        │
                    │              │                        │
                    │  :8081 ──► nginx-patched (1.30.4)     │
                    │                          SEGURO       │
                    └─────────────────────────────────────┘

Inicio Rápido

root@kitploit:~
# Build and start
docker compose up --build -d

# Verify
curl http://localhost:8080/health
curl http://localhost:8081/health

# Run PoC
python3 poc_overflow.py          # Heap overflow (crash worker)
python3 poc_infoleak.py          # Info leak (heap residue)
bash poc_curl.sh                 # Quick curl-based tests

# Compare with patched
python3 poc_overflow.py localhost 8081
python3 poc_infoleak.py localhost 8081

# Check for crashes
docker logs nginx-vuln 2>&1 | grep -iE 'signal|segfault|abort'

# Cleanup
docker compose down

Mecanismo de la Vulnerabilidad

Causa Raíz

nginx evalúa los valores de las directivas (proxy_set_header, return, add_header, etc.) en dos pasadas utilizando un array mutable compartido r->captures:

PasadaPropósitoLee r->captures
LENMedir el tamaño de búfer necesarioSí — para obtener la longitud de $1
(el mapa regex se evalúa aquí, CLOBBEREANDO r->captures)
VALUEEscribir datos en el búfer asignadoSí — pero ahora $1 apunta a otro lugar

Patrón de Configuración Vulnerable

root@kitploit:~
map $http_user_agent $is_bot {
    ~*(bot|crawl|spider)  1;         # ← regex map = clobber trigger
    default               0;
}

location ~ "^/api/v1/(.+)$" {       # ← regex capture source
    proxy_set_header X-Route "$1 — $is_bot";   # ← two-pass sink
    #                         ^^    ^^^^^^^
    #                  capture ref + map var in same buffer = BUG
}

Direcciones de Ataque

DirecciónTamaño de URITamaño de entrada del mapaResultado
DesbordamientoCorto (3 B)Largo (4096 B)LEN asigna poco, VALUE escribe mucho → desbordamiento de heap
Fuga de InformaciónLargo (8000 B)Corto (5 B)LEN asigna mucho, VALUE escribe poco → residuo de heap en la respuesta

Escenarios del Laboratorio

EndpointSinkDisparador del MapaDemo
/api/v1/{path}proxy_set_header$is_bot (User-Agent)Desbordamiento
/leak/{path}return + add_header$ref_domain (Referer)Fuga de información
/rce/{path}set + return$is_bot (User-Agent)Desbordamiento
/safe/{path}return (sin mapa)NingunoControl (seguro)

Archivos

ArchivoPropósito
docker-compose.ymlOrquestación del laboratorio
Dockerfile.nginx-vulnnginx 1.26.x vulnerable
Dockerfile.nginx-patchednginx 1.30.4 parcheado
nginx-vuln.confConfiguración vulnerable con patrones anotados
backend.pyServidor echo para inspeccionar cabeceras proxeadas
poc_overflow.pyPoC de desbordamiento de heap (tamaños de payload escalados)
poc_infoleak.pyPoC de fuga de información (detección de residuo de heap)
poc_curl.shPruebas rápidas basadas en curl

Detección

Utilice el escáner de configuración:

root@kitploit:~
python3 nginx_capture_clobber_scan.py /etc/nginx/nginx.conf

Mitigación (sin parchear)

  1. Separar las capturas regex y las variables de mapa regex en diferentes directivas/ubicaciones
  2. Utilizar capturas con nombre y referenciarlas solo dentro del bloque que contiene la coincidencia regex
  3. Evitar patrones regex ~ / ~* en map cuando se utilizan capturas en otros lugares

Referencias

  • Artículo del investigador (cyberstan.co.uk)
  • Entrada en NVD
  • Escáner de configuración
  • Aviso de nginx

SOLO PARA PRUEBAS DE SEGURIDAD EDUCATIVAS Y AUTORIZADAS.

Descargar herramienta