
Los investigadores de ciberseguridad han descubierto un ataque remoto de denegación de servicio que afecta a los principales servidores web, incluidos NGINX, Apache HTTPD, Microsoft IIS, Envoy y Cloudflare Pingora.
Esta vulnerabilidad ha recibido el nombre en código «HTTP/2 Bomb» del estado de California.
«El comportamiento vulnerable existe en la configuración HTTP/2 predeterminada de cada servidor», dijo la compañía, y agregó que fue descubierto por OpenAI Codex encadenando dos técnicas conocidas: bombas de compresión y retenciones estilo Slowloris.
«La bomba apunta a HPACK, el esquema de compresión de encabezados HTTP/2. Un byte en el cable se convierte en una asignación de encabezado completa en el servidor, repetida miles de veces para cada solicitud», agregó California. «Una retención es una ventana de control de flujo de cero bytes que impide que el servidor libere la ventana de control de flujo».
HPACK es un algoritmo de compresión de encabezados específico de HTTP/2 que se utiliza para comprimir metadatos de solicitudes y respuestas utilizando la codificación Huffman, lo que reduce el tamaño del encabezado en un promedio del 30 %. También está diseñado para ser resistente a ataques como CRIME (abreviatura de «Compression Ratio Info-leak Made Easy»), que puede filtrar cookies de autenticación de encabezados de compresión.
Slowloris, por otro lado, es un tipo de ataque de denegación de servicio (DoS) que permite a un atacante saturar el servidor de un objetivo abriendo y manteniendo simultáneamente una gran cantidad de conexiones HTTP entre el atacante y el objetivo. Este es un ataque a la capa de aplicación.
HTTP/2 Bomb incluye HPACK Bomb (también conocido como CVE-2016-6581), que se reveló por primera vez en 2016, CVE-2025-53020, una vulnerabilidad de agotamiento de memoria en la implementación HTTP/2 de Apache httpd y dos fallas DoS en el servidor Apache HTTP (CVE-2016-8740) debido a marcos de CONTINUACIÓN diseñados. Está inspirado en una variedad de enfoques conocidos, como el agotamiento de subprocesos de trabajo en conexiones HTTP/2 (CVE-2016-1546).
«Lo nuevo aquí es el origen de la amplificación», dice California. «La bomba clásica llena una tabla con valores grandes y hace referencia a ella repetidamente, por lo que el servidor ha aprendido a limitar el tamaño total del encabezado decodificado. Nuestra variante es lo opuesto: el encabezado está casi vacío y la amplificación proviene de la contabilidad por entrada que el servidor asigna a su alrededor. El límite de tamaño decodificado nunca se activa porque hay muy poco que decodificar».
En un escenario de ataque hipotético, una computadora doméstica con una conexión de 100 Mbps podría hacer que un servidor vulnerable quedara inaccesible en cuestión de segundos. Además, un único cliente puede consumir y mantener 32 GB de memoria del servidor para Apache HTTPD y Envoy en aproximadamente 20 segundos.
Para abordar esta vulnerabilidad, recomendamos aplicar las siguientes mitigaciones:
NGINX: la actualización a 1.29.8+ agrega una directiva max_headers con un valor predeterminado de 1000. Si la actualización no es una opción, recomendamos desactivar http2 y deshabilitar HTTP/2. Apache HTTPD: corregido en mod_http2 v2.0.41. Si la actualización no es una opción, recomendamos configurar el protocolo http/1.1 y deshabilitar HTTP/2. Microsoft IIS, Envoy, Cloudflare Pingora: no hay parches disponibles al momento de escribir este artículo.
«Un error aún mayor es que la especificación enmarca el riesgo de la memoria simplemente como un factor de amplificación, y la proporción es sólo la mitad de la ecuación», dijo California. «El amplificador 70:1 es inofensivo si la memoria se libera al finalizar la solicitud. Con HTTP/2, esto es un ataque porque el cliente puede mantener la conexión abierta casi gratis y fijar todos los bytes asignados durante el tiempo que quiera».
Source link
