Investigadores de ciberseguridad han descubierto una vulnerabilidad de
denegación de servicio remota que afecta a los principales servidores web,
incluidos NGINX, Apache HTTPD, Microsoft IIS, Envoy y Cloudflare Pingora.
La vulnerabilidad ha sido denominada HTTP/2 Bomb por
Calif.io. HTTP/2 Bomb
explota HPACK y el control de flujo; un solo cliente puede consumir 32 GB de
memoria en 20 segundos, provocando caídas del servidor.

«El comportamiento vulnerable existe en la configuración HTTP/2
predeterminada de cada servidor», afirmó la compañía, añadiendo que fue descubierta por OpenAI Codex mediante
la combinación de dos técnicas conocidas: una bomba de compresión y una
retención al estilo Slowloris.
«La bomba ataca HPACK, el esquema de compresión de encabezados de HTTP/2:
un byte en la red se convierte en una asignación completa de encabezado en
el servidor, que se repite miles de veces por solicitud», agregó Calif.
«La retención es una ventana de control de flujo de cero bytes que impide
que el servidor libere cualquier parte de ella.»
HPACK
es un algoritmo de compresión de encabezados específico para HTTP/2 que se
utiliza para comprimir los metadatos de las solicitudes y respuestas mediante
la codificación Huffman, lo que resulta en una reducción promedio del 30% en
el tamaño del encabezado. También está diseñado para ser resistente a ataques
como
CRIME
(acrónimo de «Compression Ratio Info-leak Made Easy», que puede filtrar
las cookies de autenticación de los encabezados comprimidos.
Slowloris, por otro lado, es un tipo de ataque de denegación de servicio (DoS)
que permite a un atacante saturar un servidor objetivo abriendo y manteniendo
múltiples conexiones HTTP simultáneas entre el atacante y el objetivo. Se
trata de un ataque a nivel de aplicación.
HTTP/2 Bomb se inspira en varios métodos conocidos, como HPACK Bomb (CVE-2016-6581), revelado por primera vez en 2016, así como en
CVE-2025-53020, una vulnerabilidad de agotamiento de memoria en la implementación HTTP/2 de
Apache httpd, y dos fallos de denegación de servicio (DoS) en Apache HTTP
Server, activados mediante tramas CONTINUATION manipuladas (CVE-2016-8740) y la inanición de subprocesos de trabajo (CVE-2016-1546) en una conexión HTTP/2.
«La novedad reside en el origen de la amplificación. La bomba clásica
inserta un valor grande en la tabla y lo referencia repetidamente, por lo
que los servidores aprendieron a limitar el tamaño total del encabezado
decodificado. Nuestra variante funciona al revés: el encabezado está casi
vacío, y la amplificación proviene de la gestión de memoria que el servidor
asigna a cada entrada. El límite de tamaño decodificado nunca se activa
porque prácticamente no hay nada que decodificar».
En un hipotético escenario de ataque, un ordenador doméstico con una conexión
de 100 Mbps podría dejar un servidor vulnerable inaccesible en cuestión de
segundos. Además, un solo cliente puede consumir y mantener 32 GB de memoria
del servidor en Apache HTTPD y Envoy en aproximadamente 20 segundos.
Para contrarrestar la vulnerabilidad, se recomienda aplicar las siguientes
medidas:
-
NGINX: Actualizar a la versión 1.29.8 o superior, que añade la directiva
`max_headers` con un valor predeterminado de 1000. Si no es posible
actualizar, se recomienda deshabilitar HTTP/2 con `http2 off;`. -
Apache HTTPD: Solucionado en
`mod_http2 v2.0.41`. Si no es posible actualizar, se recomienda configurar los protocolos
`http/1.1` para deshabilitar HTTP/2. -
Microsoft IIS, Envoy y Cloudflare Pingora: No hay parche disponible al
momento de redactar este informe.
«El error más profundo radica en que la especificación define el riesgo de
memoria simplemente como una relación de amplificación, y esta relación es
solo la mitad de la ecuación», afirmó Calif.
«Un amplificador 70:1 es inofensivo si la memoria se libera cuando finaliza
la solicitud. Se convierte en un ataque porque HTTP/2 permite al cliente
mantener la conexión abierta casi sin coste alguno, reservando cada byte
asignado durante el tiempo que desee.»
Fuente:
Calif

