Apache HTTP Server 2.4.71 corrige una RCE crítica en HTTP/2

Apache HTTP Server 2.4.71 corrige una RCE crítica en HTTP/2

Una petición de red puede bastar para ejecutar código en ciertos servidores Apache: CVE-2026-119618 afecta a mod_http2 y no exige autenticación, siempre que HTTP/2 esté habilitado. Apache publicó el 11 de noviembre la versión 2.4.71 para corregirla. Red Hat asigna al fallo una puntuación de 9,8 sobre 10 en CVSS y lo califica de crítico.

El problema no alcanza a cualquier instalación de Apache HTTP Server. Según Red Hat, están expuestos los servidores que utilizan HTTP/2 mediante mod_http2; los configurados únicamente para HTTP/1.1 no son vulnerables. La versión corregida también resuelve otras dos vulnerabilidades, de menor gravedad, en mod_md y mod_vhost_alias.

Una condición de carrera en assign_headers()

El origen está en assign_headers(), una función de mod_http2. La vulnerabilidad se debe a una condición de carrera: durante el procesamiento concurrente de solicitudes, un hilo puede modificar memoria que pertenece a otro. RedesZone describe el resultado como corrupción del heap; Red Hat explica que un worker puede escribir en memoria de un hilo de conexión mediante un asignador compartido sin bloqueo.

El fallo, registrado como CVE-2026-119618, puede permitir a un atacante remoto ejecutar comandos arbitrarios y tomar el control del proceso del servidor. Red Hat enumera también el posible acceso o modificación de información sensible y la interrupción del servicio entre los impactos. Su evaluación CVSS v3.1 indica vector de ataque por red, complejidad baja, ausencia de privilegios y de interacción del usuario, y efectos altos sobre confidencialidad, integridad y disponibilidad.

La vulnerabilidad afecta a las versiones de Apache HTTP Server desde la 2.4.55 hasta la 2.4.70. La actualización 2.4.71, anunciada por la Apache Software Foundation y el proyecto Apache HTTP Server, es la corrección para quienes utilizan las versiones distribuidas por el propio proyecto.

HTTP/2 debe estar activado para que haya exposición

La configuración que determina la exposición es la directiva Protocols. En ella, h2 habilita HTTP/2 sobre TLS y h2c lo hace sobre TCP sin cifrar. El valor puede establecerse para todo el servidor o para un host virtual concreto; por eso, revisar solo la configuración global no basta para comprobar todos los sitios alojados.

La documentación del módulo y los avisos de seguridad señalan que las instalaciones configuradas para servir únicamente HTTP/1.1 no están afectadas. En cambio, si aparece h2 o h2c en la directiva de un host virtual, ese ajuste también debe tenerse en cuenta. La comprobación abarca tanto la configuración general como la de cada host virtual.

El alcance incluye asimismo las compilaciones independientes del módulo publicadas en GitHub como mod_h2: las versiones afectadas van de la 2.0.8 a la 2.0.42. Ese repositorio fue archivado el 9 de junio y quedó en modo de solo lectura; no hay una versión corregida disponible para esa rama. La mitigación de configuración indicada para Apache también se aplica a esas compilaciones.

Red Hat y Wiz discrepan sobre los exploits

La disponibilidad de un exploit fiable es el punto en que difieren las evaluaciones publicadas. Red Hat afirma que existe un exploit fiable demostrado por investigación pública contra un servidor con mod_http2 habilitado en su configuración predeterminada. Su aviso no identifica esa investigación. Wiz, por su parte, sostuvo ese mismo día que no había ningún exploit disponible y que no se había informado de explotación activa.

“public research has demonstrated a reliable exploit”

— Red Hat

El fallo fue detectado el 26 de octubre por OSS Scanner de Anthropic, un servicio de análisis de código abierto que utiliza modelos de IA de la compañía, según The Hacker News. Anthony Weems y Simon Scannell, de Google Cloud Vulnerability Research, lo reportaron por su cuenta el 3 de noviembre, según RedesZone; Red Hat también les agradece el aviso en su ficha del CVE.

Las fuentes no presentan una resolución común sobre si el exploit está disponible. Red Hat describe investigación pública que demuestra uno fiable; Wiz niega que exista uno disponible y que haya explotación conocida en sistemas reales. La puntuación de 9,8 corresponde a la evaluación de Red Hat: la ficha del CVE señala que las puntuaciones para componentes de código abierto pueden variar entre proveedores por diferencias de versión o compilación.

Parche y paquetes de las distribuciones

Red Hat publicó correcciones para Red Hat Enterprise Linux 9 y 10, pero clasifica el fallo como Important en esos productos, en lugar de Critical. La razón que ofrece es que sus paquetes de mod_http2 asignan memoria separada a cada flujo HTTP/2, lo que aumenta la dificultad de explotación. RHEL 8 y las versiones anteriores no contienen el código vulnerable, según la compañía.

En RHEL 9, el paquete corregido es mod_http2-2.0.26-7.el9_9.1; para RHEL 10, es mod_http2-2.0.29-5.el10_3.1. The Hacker News también recoge correcciones para RHEL 9.4 Update Services for SAP Solutions y para las versiones 9.6, 9.8, 10.0 y 10.2 Extended Update Support, mediante los avisos RHSA-2026:98968, RHSA-2026:98954, RHSA-2026:98982, RHSA-2026:98953 y RHSA-2026:98979.

El estado varía según la distribución. Debian unstable (sid) figura corregido con apache2 2.4.71-1, mientras que Debian bookworm, trixie y forky aparecen como vulnerables, sin paquete corregido indicado. Para Amazon Linux 2 (Core), Amazon Linux 2023 y Amazon Linux 2027 Preview, el estado es pendiente de corrección. El rastreador de Ubuntu no tenía una página para este CVE cuando se consultó.

The Hacker News registra además Red Hat JBoss Core Services y Red Hat Hardened Images como afectados, sin una corrección listada. Los números de paquete de las distribuciones no coinciden necesariamente con las versiones del proyecto Apache: cada proveedor publica sus propias compilaciones y paquetes.

La 2.4.71 corrige otros dos fallos

La actualización no se limita a la ejecución remota de código. CVE-2026-106023 corrige un puntero nulo en mod_md que puede provocar la caída de un proceso hijo al atender una petición. Afecta a Apache 2.4.30–2.4.70 y RedesZone lo califica de importante; en el resumen de The Hacker News se describe como un fallo de gravedad importante.

CVE-2026-109163 corrige una sobrescritura de un byte en la pila de mod_vhost_alias, clasificada como de gravedad baja. El fallo afecta a las versiones 2.4.69 y 2.4.70. La publicación japonesa de窓の杜 enumera estos tres CVE como las vulnerabilidades abordadas por la 2.4.71 y añade que la actualización incluye correcciones en mod_deflate, mod_dav y mod_remoteip, además de mejoras de funcionalidad en mod_md.

La versión 2.4.71 se publicó el 11 de noviembre de 2026. El proyecto Apache HTTP Server la presenta como la versión disponible más reciente de la rama estable 2.4.x. La Apache Software Foundation describe Apache HTTP Server como un servidor web de código abierto para sistemas operativos modernos.

Qué hacer si no se puede actualizar ahora

El aviso de Apache no propone una solución alternativa. La corrección definitiva para quienes usan las versiones del proyecto es actualizar a 2.4.71; las distribuciones con paquetes propios tienen sus correspondientes versiones y avisos. Para las compilaciones independientes de mod_h2 no hay un lanzamiento corregido.

Wiz recomienda, como medida temporal para quienes no puedan actualizar, retirar h2 y h2c de la directiva Protocols y dejar únicamente Protocols http/1.1. El cambio debe contemplar la configuración global y todos los hosts virtuales. RedesZone advierte que desactivar HTTP/2 puede afectar al rendimiento y a algunos clientes, y aconseja probarlo primero en un entorno de pruebas y vigilar los registros por caídas o reinicios inusuales de procesos worker.

La actualización llega después de otros ciclos de correcciones: la versión 2.4.69 cerró 20 CVE en octubre y la 2.4.68 resolvió otros 13 en junio, según RedesZone. En mayo, la 2.4.67 había corregido otro fallo de HTTP/2, CVE-2026-23918. Haber instalado esa versión —o cualquier versión posterior hasta la 2.4.70— no protege frente a CVE-2026-119618: todas siguen dentro del rango afectado.

Fuentes: RedesZone, The Hacker News, Apache HTTP Server Project, Red Hat, The Hacker News, 窓の杜