Los errores de infraestructura web siguen siendo especialmente peligrosos cuando se encuentran en lógicas de manejo de solicitudes ampliamente desplegadas durante años sin ser detectados. Entre las últimas vulnerabilidades que afectan a NGINX Plus y NGINX Open, la vulnerabilidad CVE-2026-42945 se destaca como un desbordamiento de búfer en el montón de 18 años de antigüedad en ngx_http_rewrite_module que puede ser alcanzado por un atacante no autenticado a través de solicitudes HTTP especialmente diseñadas y puede conducir a una denegación de servicio o, en algunos casos, a la ejecución remota de código. Los informes públicos citan una puntuación CVSS v4 de 9.2 y se refieren al problema como NGINX Rift.
Desde la perspectiva de un defensor, los detalles más importantes para CVE-2026-42945 son el patrón de configuración afectado y la ruta del parche. El análisis público de CVE-2026-42945 muestra que la falla se expone cuando una directiva de reescritura utiliza una captura PCRE sin nombre como $1 o $2, incluye una cadena de reemplazo con un signo de interrogación y es seguida por otra directiva de reescritura, if o set en el mismo ámbito.
Análisis de CVE-2026-42945
A nivel técnico, la vulnerabilidad en CVE-2026-42945 es causada por una lógica de escape inconsistente en el motor de reescritura. Depthfirst explica que NGINX calcula la longitud del búfer de destino bajo un conjunto de suposiciones y luego copia datos bajo otro, por lo que los bytes derivados del URI controlado por el atacante pueden exceder el búfer del montón asignado en el proceso de trabajo.
En términos prácticos, la carga útil pública CVE-2026-42945 no es un binario o script caído, sino una solicitud HTTP especialmente diseñada que alcanza una regla de reescritura vulnerable y provoca una corrupción del montón determinista. F5 dice que esto puede reiniciar el proceso de trabajo, mientras que los informes públicos añaden que también puede ser posible la ejecución de código, particularmente en sistemas donde ASLR está deshabilitado.
La divulgación es notable porque se publicó un escrito técnico y una explicación de la causa raíz junto con el aviso, y depthfirst dice explícitamente que su análisis completo incluye un POC de CVE-2026-42945 y un recorrido del parche. Al mismo tiempo, los materiales del proveedor y del investigador afirman que no estaban al tanto de explotación en la naturaleza al momento de la divulgación.
La exposición es amplia porque CVE-2026-42945 afecta a las versiones de NGINX Open Source desde la 0.6.27 hasta la 1.30.0 y NGINX Plus R32 hasta R36. La página de avisos de seguridad de nginx también enumera productos adicionales de F5 y NGINX afectados construidos alrededor de la misma base de código, mientras que las versiones de código abierto corregidas son 1.30.1 y 1.31.0.
Mitigación CVE-2026-42945
La prioridad para la mitigación de CVE-2026-42945 es actualizar a una versión corregida. Para NGINX Open Source, eso significa pasar a la 1.30.1 o 1.31.0. Para NGINX Plus, las correcciones se introdujeron en R32 P6 y R36 P4. Depthfirst también recomienda reiniciar NGINX después de la actualización para que los procesos de trabajo recarguen el binario parcheado.
Para detectar la exposición a CVE-2026-42945, los defensores deben revisar las configuraciones de NGINX para las directivas de reescritura que combinan capturas no identificadas con una cadena de reemplazo que contiene ?, seguida de reescritura, if, o set en el mismo ámbito. Este es el punto de partida más práctico para la detección de CVE-2026-42945, porque la falla depende de un patrón de configuración específico y común en lugar de simplemente la presencia de NGINX.
Si no es posible parchear de inmediato, tanto F5 como Depthfirst aconsejan reemplazar capturas sin nombre como $1 y $2 con capturas nombradas en cada directiva de reescritura afectada. No hay IOC de CVE-2026-42945 publicadas por el proveedor en los materiales citados, por lo que los defensores deben centrarse en el inventario de versiones, la revisión de configuraciones, los reinicios inesperados de los procesos de trabajo y los patrones de solicitudes HTTP sospechosas que afectan a la lógica de reescritura vulnerable.
FAQ
¿Qué es CVE-2026-42945 y cómo funciona?
CVE-2026-42945 es un desbordamiento de búfer en el montón en el módulo ngx_http_rewrite_module de NGINX. Se activa por un patrón específico de reglas de reescritura que involucra capturas regex sin nombre y una cadena de reemplazo que contiene un signo de interrogación, lo que puede causar que los datos del URI controlados por el atacante desborden el montón del proceso de trabajo.
¿Cuándo se descubrió por primera vez CVE-2026-42945?
Los informes públicos dicen que el problema se divulgó responsablemente el 21 de abril de 2026, y depthfirst dice que F5 confirmó, parcheó y publicó el aviso coordinado el 13 de mayo de 2026.
¿Cuál es el impacto de CVE-2026-42945 en los sistemas?
El impacto inmediato es la denegación de servicio a través de bloqueos del proceso de trabajo o bucles de reinicio. Bajo condiciones adicionales favorables, los informes públicos y los materiales de los investigadores dicen que el error también puede permitir la ejecución remota de código en el proceso de trabajo de NGINX.
¿Puede CVE-2026-42945 seguir afectándome en 2026?
Sí. Los sistemas pueden seguir expuestos en 2026 si ejecutan versiones vulnerables de NGINX y utilizan el patrón de configuración de reescritura afectado, especialmente si aún no se han actualizado a la 1.30.1, 1.31.0 o a la compilación corregida relevante de NGINX Plus.
¿Cómo puedo protegerme de CVE-2026-42945?
Actualice a una versión corregida, reinicie NGINX después de parchear y audite las reglas de reescritura para capturas sin nombre seguidas de reescritura, if o set cuando la cadena de reemplazo incluya ?. Si el parcheo debe retrasarse, reemplace las capturas sin nombre con capturas nombradas como solución temporal.