news

El bug de NGINX de 18 años que compromete 1/3 de la web

Elena DuranElena Duran-24 de mayo de 2026-5 min de lectura
Compartir:
Alerta crítica de seguridad NGINX CVE-2026-42945 heap overflow RCE sin autenticación

Foto de Unsplash en Unsplash

En resumen

CVE-2026-42945 es un heap overflow crítico en NGINX con CVSS 9.8 que permite ejecución de código remoto sin autenticación. Presente en el código desde 2008, afecta al 34,2% de los sitios web globales. La respuesta de F5 fue rápida; el verdadero reto está en el remediation fragmentado.

Mi veredicto es claro desde el primer momento: CVE-2026-42945 no es una vulnerabilidad más en la interminable lista de CVEs que los equipos de seguridad gestionan cada semana. Es un fallo de 18 años que ha estado latente en el código base de NGINX desde 2008 — y que ahora permite a cualquier atacante sin credenciales ejecutar código arbitrario en el servidor. Un tercio de toda la internet en riesgo. Eso no es una alerta, es una emergencia.

Los investigadores de seguridad divulgaron el 23 de mayo de 2026 un heap overflow crítico en el motor de análisis de solicitudes HTTP de NGINX. La vulnerabilidad, catalogada como CVE-2026-42945, tiene una puntuación CVSS de 9.8 — el techo de lo crítico. Vector de ataque: red. Complejidad: baja. Privilegios requeridos: ninguno. Lo que nadie te dice en los comunicados corporativos es lo que eso significa en la práctica: cualquier persona en internet puede comprometer tu servidor NGINX sin presentar una sola credencial.

El problema técnico

El fallo reside en la gestión de secuencias específicas de cabeceras HTTP/1.1. Una cabecera Content-Length malformada combinada con una solicitud de transferencia por fragmentos desencadena un desbordamiento de entero durante la asignación de buffer, produciendo una corrupción del heap. Con técnicas modernas de heap spray, un atacante puede escalar esa corrupción a ejecución de código arbitrario de forma fiable.

Lo que hace este caso especialmente inaceptable es la antigüedad del código vulnerable. El fallo fue introducido en NGINX 0.7.65, publicado en 2008. Dieciocho años. No es un bug reciente que se coló en una release apresurada. Es una vulnerabilidad que ha sobrevivido a auditorías de seguridad, revisiones de código y miles de deployments en producción durante casi dos décadas. Eso no es un fallo puntual, es una deuda técnica que acaba de presentar factura.

El alcance real del daño

Según datos de W3Techs, NGINX sirve aproximadamente el 34,2% de todos los sitios web a nivel global. Eso incluye los nodos edge de Cloudflare, configuraciones de Amazon CloudFront e incontables controladores de ingress de Kubernetes. Si no ejecutas NGINX directamente, lo más probable es que haya un NGINX en algún punto de tu cadena de peticiones.

Después de años cubriendo el sector enterprise, la comparación es inevitable: Log4Shell (CVE-2021-44228) logró su blast radius catastrófico porque Log4j estaba embebido de forma invisible en cientos de aplicaciones Java. CVE-2026-42945 tiene un perfil similar. NGINX es infraestructura omnipresente, a menudo invisible para los equipos que dependen de ella. La diferencia es que los heap overflows son más difíciles de escalar masivamente que la inyección JNDI, pero 'más difícil' no equivale a 'imposible'.

La respuesta del vendor y el problema de la cola larga

F5, propietaria de NGINX desde 2019, respondió con agilidad: los parches de emergencia NGINX 1.27.5 y NGINX Plus R34 estaban disponibles en 72 horas tras la divulgación. Divulgación responsable bien ejecutada. Lo reconozco.

Pero el problema real no está en el parche de F5. Está en la cola larga. La imagen nginx:latest en Docker Hub fue parcheada en horas. nginx:1.24-alpine — presente en miles de Dockerfiles en producción — sigue siendo vulnerable. El gestor de paquetes de tu distribución Linux puede no tener el parche todavía. El controlador de ingress de Kubernetes de tu proveedor managed puede seguir fijado a una versión vulnerable. La divulgación del CVE es la parte sencilla. La fragmentación del remediation es donde las organizaciones se queman.

Lo que nadie te dice sobre el fondo del problema

Esta vulnerabilidad sobrevivió 18 años porque las bases de código C con gestión manual de memoria no tienen fecha de caducidad en sus fallos de seguridad. NGINX está escrito en C. Apache también. La mayor parte de la infraestructura fundacional de internet, también.

La comunidad Rust señalará — con toda la razón — que esta clase de vulnerabilidad es imposible en Rust seguro. Cloudflare construyó Pingora, su proxy HTTP escrito en Rust, exactamente porque entendían este riesgo estructural. Pingora lleva en producción desde 2022, procesando billones de peticiones. CVE-2026-42945 es el argumento que Cloudflare usaba cuando tomó esa decisión.

No me ando con rodeos: F5 no va a reescribir NGINX en Rust en el corto plazo. La economía de reescribir infraestructura battle-tested es brutal, y los vendors enterprise seguirán parcheando código C hasta que el mercado los fuerce a hacer lo contrario. Mientras tanto, seguiremos teniendo esta conversación cada pocos años.

Acciones inmediatas

  • Actualiza todas las instalaciones de NGINX a la versión 1.27.5 (open source) o NGINX Plus R34 de inmediato
  • Audita cada imagen Docker base en tu pipeline CI/CD — busca referencias a nginx: incluyendo versiones menores fijadas
  • Revisa tus controladores de ingress de Kubernetes — ingress-nginx, nginx-ingress y todas las variantes managed
  • Verifica el estado del parche de tu proveedor CDN — Cloudflare y Amazon CloudFront han publicado avisos
  • Activa las reglas WAF que detecten el patrón de cabecera que desencadena el fallo (F5 ha publicado firmas de detección)

Si gestionas infraestructura NGINX a escala y no has iniciado el parcheado, cada hora que pasa aumenta la probabilidad de que circule código proof-of-concept explotable en producción. La ventana se estrecha.

Mi veredicto

CVE-2026-42945 es una emergencia de nivel máximo para cualquiera que opere infraestructura web. La respuesta de F5 fue correcta. El desafío del remediation es enorme. Y la lección de fondo — que el código C de 18 años ejecutando la columna vertebral de internet seguirá produciendo estas crisis — es una que la industria se niega sistemáticamente a afrontar con seriedad. Aplica el parche ahora. Y luego piensa seriamente sobre qué estás construyendo tu infraestructura.

¿Te ha sido útil?

Preguntas Frecuentes

¿Cuáles son las versiones de NGINX afectadas por CVE-2026-42945?

Todas las versiones de NGINX desde 0.7.65 (2008) hasta 1.27.4 están afectadas. Los parches disponibles son NGINX 1.27.5 para la versión open source y NGINX Plus R34 para la versión comercial.

¿Es CVE-2026-42945 explotable de forma remota sin credenciales?

Sí. CVE-2026-42945 tiene vector de ataque de red, complejidad baja y no requiere privilegios ni autenticación previa. Con una puntuación CVSS de 9.8, cualquier atacante con acceso a la red puede intentar explotar un servidor NGINX no parcheado.

¿Cómo verifico si mi imagen Docker de NGINX está afectada?

Busca referencias a nginx: en tus Dockerfiles y verifica la versión exacta. La imagen nginx:latest fue parcheada rápidamente, pero versiones fijadas como nginx:1.24-alpine pueden seguir siendo vulnerables. Comprueba la versión exacta con el comando nginx -v.

¿Afecta CVE-2026-42945 a los controladores de ingress de Kubernetes?

Sí. Los controladores ingress-nginx y nginx-ingress que utilizan versiones no parcheadas de NGINX son vulnerables. Contacta con tu proveedor de Kubernetes gestionado para verificar el estado del parche y aplica actualizaciones a la última versión compatible.

Fuentes y Referencias (4)

Las fuentes utilizadas para elaborar este artículo

  1. 1

    CVE-2026-42945 - NIST NVD

    Invalid Date
  2. 2

    NGINX Security Advisory - CVE-2026-42945

    Invalid Date
  3. 3

    Distribución de servidores web - W3Techs

    Invalid Date

Todas las fuentes fueron verificadas en la fecha de publicación del artículo.

Elena Duran
Escrito por

Elena Duran

Periodista tech veterana especializada en el sector enterprise. No se anda con rodeos.

#nginx#cve#rce#heap-overflow#ciberseguridad#infosec#servidor-web#parche#f5

Artículos Relacionados