La nueva vulnerabilidad de bomba HTTP/2 permite DoS remoto en NGINX, Apache, IIS, Envoy y Cloudflare

Los investigadores de ciberseguridad han descubierto un exploit de denegación de servicio remoto que afecta a los principales servidores web, incluidos NGINX, Apache HTTPD, Microsoft IIS, Envoy y Cloudflare Pingora.

La vulnerabilidad ha sido nombrada en código. Bomba HTTP/2 por 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: una bomba de compresión y una retención estilo Slowloris.

«La bomba apunta a HPACK, el esquema de compresión de encabezados de HTTP/2: un byte en el cable se convierte en una asignación de encabezado completa 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 evita que el servidor libere nada».

Ciberseguridad

HPACK es un algoritmo de compresión de encabezados dedicado para HTTP/2 que se utiliza para comprimir metadatos de solicitudes y respuestas utilizando la codificación Huffman que da como resultado una reducción promedio del 30 % en el tamaño del encabezado. También está diseñado para ser resistente a ataques como DELITO (abreviatura de «Compression Ratio Info-leak Made Easy») que puede filtrar cookies de autenticación de encabezados comprimidos.

Slowloris, por otro lado, es un tipo de ataque de denegación de servicio (DoS) que permite a un actor de amenazas abrumar un servidor objetivo abriendo y manteniendo muchas conexiones HTTP simultáneas entre el atacante y el objetivo. Es un ataque a la capa de aplicación.

HTTP/2 Bomb está inspirado en varios enfoques conocidos como HPACK Bomb (también conocido como CVE-2016-6581), que se reveló por primera vez en 2016, así como CVE-2025-53020una vulnerabilidad de agotamiento de la memoria en la implementación HTTP/2 de Apache httpd y dos fallas DoS en el servidor Apache HTTP a través de marcos de CONTINUACIÓN diseñados (CVE-2016-8740) y hambre de hilo de trabajo (CVE-2016-1546) en una conexión HTTP/2.

«Lo nuevo aquí es de dónde viene la amplificación», dijo Calif. «La bomba clásica introduce un valor grande en la tabla y hace referencia a él repetidamente, por lo que los servidores aprendieron a limitar el tamaño total del encabezado decodificado. Nuestra variante va en sentido contrario: 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 no hay casi nada que decodificar».

En un escenario de ataque hipotético, una computadora doméstica con una conexión de 100 Mbps tiene el potencial de hacer que un servidor vulnerable sea inaccesible en cuestión de segundos. Es más, un solo cliente puede consumir y retener 32 GB de memoria del servidor contra Apache HTTPD y Envoy en aproximadamente 20 segundos.

Ciberseguridad

Para contrarrestar la vulnerabilidad, se recomienda aplicar las siguientes mitigaciones:

  • NGINX: actualice a 1.29.8+, que agrega la directiva max_headers con un valor predeterminado de 1000. Si la actualización no es una opción, se recomienda deshabilitar HTTP/2 con http2 desactivado.
  • Apache HTTPD – Corregido en mod_http2 v2.0.41. Si la actualización no es una opción, se recomienda configurar los protocolos http/1.1 para deshabilitar HTTP/2.
  • Microsoft IIS, Envoy y Cloudflare Pingora: no hay ningún parche disponible al momento de escribir este artículo.

«El error más profundo es que las especificaciones enmarcan el riesgo de memoria puramente como una relación de amplificación, y la relación es sólo la mitad de la ecuación», dijo Calif. «Un amplificador 70:1 es inofensivo si la memoria se libera cuando se completa la solicitud. Se convierte en un ataque porque HTTP/2 permite al cliente mantener la conexión abierta casi de forma gratuita, fijando cada byte asignado durante el tiempo que desee».

Fallo crítico de Apache HTTP/2 (CVE-2026-23918) habilita DoS y potencial RCE

La Apache Software Foundation (ASF) ha publicado actualizaciones de seguridad para abordar varias vulnerabilidades de seguridad en el servidor HTTP, incluida una vulnerabilidad grave que podría conducir a la ejecución remota de código (RCE).

La vulnerabilidad, rastreada como CVE-2026-23918 (puntuación CVSS: 8,8), ha sido descrito como un caso de «doble RCE libre y posible» en el manejo del protocolo HTTP/2. Este problema afecta al servidor Apache HTTP 2.4.66 y se solucionó en la versión 2.4.67.

El cofundador de Striga.ai, Bartlomiej Dmitruk, y el investigador de ISEC.pl, Stanislaw Strzalkowski, han sido acreditado con el descubrimiento y reporte de la vulnerabilidad.

Ciberseguridad

Cuando se le contactó para hacer comentarios, Dmitruk le dijo a The Hacker News por correo electrónico que la gravedad de CVE-2026-23918 es crítica, ya que puede explotarse para lograr denegación de servicio (DoS) y RCE. Los detalles adicionales de la vulnerabilidad se encuentran a continuación:

CVE-2026-23918 es un doble libre en Apache httpd 2.4.66 mod_http2específicamente en la ruta de limpieza de flujo de h2_mplx.c. El error se activa cuando un cliente envía una trama HTTP/2 HEADERS seguida inmediatamente por RST_STREAM con un código de error distinto de cero en la misma secuencia, antes de que el multiplexor haya registrado la secuencia.

Luego se activan dos devoluciones de llamada nghttp2 en secuencia, on_frame_recv_cb para el RST y on_stream_close_cb para el cierre, y ambos terminan llamando a h2_mplx_c1_client_rst -> m_stream_cleanup, que empuja el mismo puntero h2_stream a la matriz de limpieza spurge dos veces. Cuando c1_purge_streams luego itera spurge y llama a h2_stream_destroy -> apr_pool_destroy en cada entrada, la segunda llamada llega a la memoria que ya ha sido liberada.

El DoS, añadió Dmitruk, es trivial y funciona en cualquier implementación predeterminada con mod_http2 y un MPM multiprocesomientras que la ruta RCE requiere un Apache Portable Runtime (ABR) con el asignador mmap, que es el predeterminado en los sistemas derivados de Debian y en la imagen oficial httpd de Docker. Dmitruk explicó con más detalle:

La primera es la denegación de servicio, que es trivial: una conexión TCP, dos tramas, sin autenticación, sin encabezados especiales, sin una URL específica y el trabajador falla. Apache lo reaparece, pero todas las solicitudes del trabajador bloqueado se descartan y el patrón puede mantenerse mientras el atacante siga enviando.

El segundo resultado es la ejecución remota de código y creamos una prueba de concepto funcional en x86_64. La cadena coloca una estructura h2_stream falsa en la dirección virtual liberada mediante la reutilización de mmap, apunta su función de limpieza del grupo a system() y utiliza la memoria del marcador de Apache como un contenedor estable para las estructuras falsas y la cadena de comando.

Ciberseguridad

El marcador se encuentra en una dirección fija durante toda la vida útil del servidor, incluso con ASLR, que es lo que hace que la ruta RCE sea práctica. Se aplican las advertencias habituales: la explotación práctica requiere una fuga de información para el sistema() y las compensaciones del marcador, y la pulverización del montón es probabilística, pero en condiciones de laboratorio la ejecución se realiza en minutos.

Dmitruk también señaló que el Horquilla MPM no se ve afectado por el defecto. Sin embargo, el investigador advirtió que la superficie de ataque es grande ya que mod_http2 se incluye en versiones predeterminadas y HTTP/2 está ampliamente habilitado en implementaciones de producción. Dada la gravedad de la falla, se recomienda a los usuarios que apliquen las últimas soluciones para una protección óptima.