Nueva vulnerabilidad HTTP/2 Bomb permite un ataque DoS remoto contra NGINX, Apache, IIS, Envoy y Cloudflare
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


0 Comments:
Post a Comment
Gracias por dejar un comentario en Segu-Info.
Gracias por comentar!