
CVE-2026-42945
Desbordamiento de búfer crítico en la memoria dinámica de NGINX
CVE-2026-42945 (también conocido como NGINX Rift) es una vulnerabilidad de seguridad crítica en el ngx_http_rewrite_module de NGINX.
La vulnerabilidad surge de un cálculo inconsistente del tamaño del búfer entre la fase de verificación de longitud y la fase de copia/escape al manejar reglas de reescritura de URI.
| Estado | Versiones |
|---|---|
| Afectado | 0.6.27 → 1.30.0 |
| Corregido | 1.30.1 y 1.31.0+ |
| Estado | Lanzamientos |
|---|---|
| Afectado | R32 → R36 |
| Corregido | R36 P4, R32 P6, 37.0.0+ |
Nota: Muchos productos F5 NGINX (Ingress Controller, App Protect, Gateway Fabric, etc.) están afectados si se ejecutan sobre versiones base vulnerables.
El error se desencadena por una combinación específica de directivas:
rewrite cuya cadena de reemplazo contiene un ? (activa la bandera is_args).rewrite, if o set que utiliza capturas PCRE sin nombre ($1, $2, etc.).is_args = false) → subestima el tamaño de búfer requerido.is_args = true) → llama a ngx_escape_uri() con NGX_ESCAPE_ARGS.+, &, %, etc.) en la URI provocan un desbordamiento de la memoria dinámica.| Impacto | Gravedad | Descripción |
|---|---|---|
| Denegación de servicio | Alta | Caída confiable del proceso worker |
| Ejecución remota de código | Crítica (condicional) | Posible cuando ASLR está deshabilitado o se evita |
| Complejidad del ataque | Baja | Una única solicitud HTTP, sin autenticación |
Puntuación CVSS v4.0: 9.2 (Crítica)
Puntuación CVSS v3.1: 8.1 (Alta)
Reemplace las capturas sin nombre por capturas con nombre:
rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;
rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last;
Recomendación clave: Audite todas las reglas de reescritura que combinen cadenas de reemplazo que contengan ? y el uso posterior de $1, $2, etc.
CVE-2026-42945 es una de las vulnerabilidades más significativas de NGINX en los últimos años debido a su larga existencia, facilidad de explotación y potencial de ejecución remota de código.
Actúe ahora — parchee sus instancias y actualice sus configuraciones.
Hecho con ❤️ para la comunidad de seguridad