Nuevo ataque DoS 'HTTP/2 Bomb' colapsa servidores web en menos de un minuto

Un nuevo ataque de denegación de servicio (DoS) denominado 'HTTP/2 Bomb' puede lanzarse desde una sola máquina para derribar servidores web en cuestión de segundos. La técnica funciona sobre configuraciones HTTP/2 predeterminadas de servidores web importantes, incluyendo NGINX, Apache HTTP Server, Microsoft IIS, Envoy y Cloudflare Pingora.

Descubierto por el agente de software Codex de OpenAI bajo la guía de investigadores de la firma de seguridad ofensiva Calif, 'HTTP/2 Bomb' combina dos métodos DoS de HTTP/2 previamente conocidos: la amplificación de compresión HPACK y la retención de recursos al estilo Slowloris mediante el control de flujo de HTTP/2. Al combinarlos, un solo cliente en una conexión de 100 Mbps puede agotar decenas de gigabytes de RAM en segundos, forzando al servidor a asignar la memoria y luego impidiendo su liberación.

"Una computadora doméstica con una conexión de 100 Mbps puede dejar inaccesible un servidor vulnerable en segundos. Contra Apache httpd y Envoy, un solo cliente puede consumir y retener 32 GB de memoria del servidor en aproximadamente 20 segundos", afirman los investigadores.

El ataque DoS 'HTTP/2 Bomb' abusa del mecanismo HPACK utilizado por el protocolo HTTP/2 para la compresión de cabeceras, insertando una cabecera en la tabla dinámica HPACK y referenciándola repetidamente mediante una representación indexada compacta que puede tener un byte de tamaño. Como resultado, un byte enviado por el atacante puede resultar en miles de bytes de asignación de memoria en el servidor, siendo Envoy y Apache httpd los que presentan las peores ratios, de 5700:1 y 4000:1 respectivamente.

La segunda parte del ataque consiste en evitar que la memoria se libere una vez que la solicitud se completa. Esto se logra anunciando una ventana de control de flujo de cero bytes. En lugar de enviar una respuesta, el servidor envía periódicamente pequeñas tramas WINDOW_UPDATE para evitar tiempos de espera. En este escenario, las solicitudes nunca se completan por completo y la memoria asignada sigue creciendo sin liberarse.

Los investigadores de Calif explican que este enfoque evade las defensas existentes, como los límites en el tamaño total de cabeceras decodificadas, ya que los valores de las cabeceras utilizadas en el ataque son pequeños y la amplificación proviene de la contabilidad interna y las asignaciones de memoria por cabecera.

  • Durante las pruebas contra cuatro servidores web principales, los investigadores obtuvieron los siguientes resultados:
  • - Envoy 1.37.2 agotó 32 GB de RAM en unos 10 segundos
  • - Apache httpd 2.4.67 agotó 32 GB de RAM en ~18 segundos
  • - nginx 1.29.7 agotó 32 GB de RAM en ~45 segundos
  • - IIS (Windows Server 2025) agotó 64 GB de RAM en ~45 segundos

Los detalles técnicos completos del ataque DoS 'HTTP/2 Bomb' se revelarán en la conferencia Real World AI Security a finales de este mes en una presentación del investigador Quang Luong. Sin embargo, ya se han publicado pruebas de concepto (PoC) para el nuevo método de ataque.

Impacto y soluciones

Los investigadores de Calif enfatizan que, aunque ninguna de las partes de su ataque era particularmente novedosa, la combinación de ambas técnicas tiene un impacto significativo. Señalan que, aunque las especificaciones del algoritmo HPACK se centran en los riesgos de amplificación de memoria, no abordan lo que sucede cuando un atacante retiene la memoria asignada indefinidamente mediante el control de flujo de HTTP/2.

Sin embargo, no todos los servidores web son vulnerables a 'HTTP/2 Bomb', ya que ya se han publicado parches para algunas plataformas. Además, ciertas configuraciones personalizadas del servidor pueden proporcionar protección indirecta contra el ataque. Por ejemplo, los sistemas que operan detrás de CDN o proxies inversos no exponen el endpoint HTTP/2 vulnerable y son más difíciles de atacar. Además, algunas implementaciones ya pueden tener límites personalizados en el número de cabeceras, WAF, proxies inversos o HTTP/2 deshabilitado.

El problema se solucionó en nginx versión 1.29.8, que agregó una directiva 'max_headers', y en Apache httpd mod_http2 2.0.41, donde el problema recibió el identificador CVE-2026-49975. Al momento de escribir este artículo, no hay parche disponible para IIS, Envoy o Pingora. En estos servidores web, se recomienda deshabilitar HTTP/2 cuando sea factible y colocar un proxy/firewall al frente que imponga límites estrictos en el número de cabeceras.

Actualización 6/8: Cloudflare informó a BleepingComputer que sus clientes ya están protegidos, ya que las mitigaciones DDoS de la empresa los hacen automáticamente resistentes a este tipo de ataque.

image
image
Attack demonstration
Attack demonstration
article image
article image