Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/friparia/nginx_rift_scan_cve_2026_42945
Análisis EstáticoEscáneres de VulnerabilidadesExplotaciónAuditoría de ConfiguraciónSeguridad WebMala Configuración
GitHubfriparia/nginx_rift_scan_cve_2026_42945

NGINX_RIFT_SCAN_CVE_2026_42945

Escaneo de CVE de Reescritura de Nginx(CVE-2026-42945 nginx-rift CVE-2026-9256)

Ver Repositorio
3495hace 3 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Escáner de Configuración NGINX Rift

Idioma: English | 中文

Esta es una herramienta ligera diseñada para verificar si la configuración de NGINX presenta patrones de riesgo relacionados con CVE-2026-42945 (NGINX Rift) y CVE-2026-9256.

La vulnerabilidad fue divulgada por depthfirst en el artículo NGINX Rift: Achieving NGINX RCE via an 18-Year-Old Vulnerability. Según el artículo y la descripción de F5/NVD, el riesgo está asociado a combinaciones específicas de configuración de ngx_http_rewrite_module: en el mismo contexto de configuración, la cadena de sustitución de rewrite contiene ?, y posteriormente rewrite, if o set referencian variables de captura PCRE sin nombre, como $1, $2.

Objetivos de la verificación

Esta herramienta verifica principalmente si existen los siguientes patrones de alto riesgo en los archivos de configuración de NGINX.

CVE-2026-42945

Secuencias de alto riesgo similares a la siguiente:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;
    set $original_endpoint $1;
}

El punto de riesgo no es un rewrite o set aislado, sino su orden de ejecución en el mismo contexto:

  1. rewrite utiliza captura regex y la cadena de sustitución contiene ?
  2. Posteriormente, rewrite, if o set usan variables de captura sin nombre como $1, $2

Esta combinación puede provocar una inconsistencia entre el cálculo de longitud y la fase de copia real del motor de scripting de NGINX, resultando en un desbordamiento de búfer en el montón (heap buffer overflow).

CVE-2026-9256

rewrite de alto riesgo similar al siguiente:

root@kitploit:~
location / {
    rewrite /wengine-auth-static/((.*)) /?$1$2 break;
}

Condiciones de riesgo:

  1. La expresión regular contiene grupos de captura superpuestos, por ejemplo, en ^/((.*))$, $1 incluye $2
  2. La cadena de sustitución referencia múltiples grupos de captura superpuestos en un contexto de redirección (redirect) o argumentos (arguments), por ejemplo, $1$2

Cabe señalar que break no elimina el riesgo; mientras múltiples grupos de captura superpuestos aparezcan en la parte de argumentos después de ?, sigue perteneciendo al contexto de arguments. Un rewrite de URI normal como /$1$2 break no activa esta CVE.

Cuando el script detecte este patrón, lo marcará explícitamente como CVE-2026-9256.

Versiones afectadas

El alcance de versiones afectadas listado en el artículo de depthfirst incluye:

  • NGINX Open Source 0.6.27 a 1.30.1
  • NGINX Plus R32 a R36
  • Algunos productos F5 / NGINX basados en NGINX

Para conocer las versiones reales con parche y la matriz de productos, consulte el boletín oficial de F5 o el boletín de seguridad de su distribución. Incluso si la versión se encuentra dentro del rango afectado, normalmente se requiere una secuencia específica de configuración rewrite para que se active la vulnerabilidad.

El script mostrará tanto la versión actual de NGINX como los resultados del escaneo de configuración:

  • Versión en 0.6.27 - 1.30.1 y configuración que coincide con la secuencia de riesgo: es necesario actualizar NGINX o ajustar la configuración.
  • Versión en 0.6.27 - 1.30.1 pero configuración que no coincide con la secuencia de riesgo: se recomienda actualizar, pero esta herramienta no detectó condiciones desencadenantes en la configuración.
  • Configuración que coincide con la secuencia de riesgo pero versión fuera del rango afectado: se recomienda revisar la configuración y mantener la versión parcheada.

Modo de uso

Escanear directamente la configuración completa de NGINX en la máquina actual:

root@kitploit:~
python3 scan_rift.py

El script ejecutará:

root@kitploit:~
nginx -T

Si el usuario actual no tiene permisos para leer la configuración completa, use sudo:

root@kitploit:~
sudo python3 scan_rift.py

También se puede escanear un archivo de configuración exportado previamente:

root@kitploit:~
python3 scan_rift.py /path/to/nginx-full.conf

Por ejemplo, exportar la configuración primero y luego escanear:

root@kitploit:~
sudo nginx -T > nginx-full.conf
python3 scan_rift.py nginx-full.conf

Explicación de la salida

Cuando no se detectan secuencias de riesgo:

root@kitploit:~
--- NGINX Rift Config Scanner (CVE-2026-42945 / CVE-2026-9256) ---
Current NGINX Version: nginx version: nginx/1.23.3
Version Status: Affected version range for NGINX Open Source (0.6.27 - 1.30.1)

[+] No vulnerable CVE-2026-42945 sequences or CVE-2026-9256 patterns detected.

[Recommendation]: Current NGINX version is in the affected range, but no vulnerable config pattern was detected. Upgrade is recommended, but config risk was not found by this scanner.

Cuando se encuentra una secuencia sospechosa:

root@kitploit:~
--- NGINX Rift Config Scanner (CVE-2026-42945 / CVE-2026-9256) ---
Current NGINX Version: nginx version: nginx/1.23.3
Version Status: Affected version range for NGINX Open Source (0.6.27 - 1.30.1)

[!] VULNERABLE SEQUENCE FOUND (CVE-2026-42945):
    Context: location ~ ^/api/(.*)$ {
    [1. Rewrite With ?] rewrite ^/api/(.*)$ /internal?migrated=true;
    [2. Follow-up $N]   set $original_endpoint $1;

[Action Required]: Current NGINX version is affected and vulnerable config was found. Upgrade NGINX or adjust the reported rewrite pattern.

Cuando se encuentra un patrón sospechoso de CVE-2026-9256:

root@kitploit:~
--- NGINX Rift Config Scanner (CVE-2026-42945 / CVE-2026-9256) ---
Current NGINX Version: nginx version: nginx/1.23.3
Version Status: Affected version range for NGINX Open Source (0.6.27 - 1.30.1)

[!] VULNERABLE PATTERN FOUND (CVE-2026-9256):
    Context: location ^~ /wengine-auth-static/ {
    [Rewrite Overlapping Captures] rewrite /wengine-auth-static/((.*)) /?$1$2 break;
    [Context] arguments; overlapping refs: $1/$2

[Action Required]: Current NGINX version is affected and vulnerable config was found. Upgrade NGINX or adjust the reported rewrite pattern.

Si se encuentra una coincidencia, se debe confirmar manualmente si ese contexto de configuración puede ser alcanzado por solicitudes externas y actualizar NGINX o ajustar la configuración lo antes posible.

Recomendaciones de mitigación

  • Actualice a la versión parcheada publicada por el proveedor.
  • Revise todas las combinaciones de rewrite / set en contextos como location, server, if, etc.
  • Evite usar variables de captura sin nombre como $1, $2 después de un rewrite que contenga ?.
  • Evite concatenar múltiples grupos de captura superpuestos en redirecciones o argumentos, por ejemplo, ^/((.*))$ con ?$1$2.
  • No considere break como una forma de evitar CVE-2026-9256; /?$1$2 break sigue siendo vulnerable.
  • Puede utilizar capturas con nombre, guardar variables con anticipación, dividir la lógica de procesamiento o eliminar rewrites de query string innecesarios.
  • Antes de aplicar el parche, priorice los servicios NGINX accesibles desde Internet y las entradas de proxy inverso.
  • No confíe únicamente en la versión; la presencia de la secuencia desencadenante en la configuración es igualmente crítica.

Limitaciones

Esta herramienta es un escáner estático de configuración, diseñado para detectar rápidamente patrones de alto riesgo. No equivale a una validación de explotación de vulnerabilidades.

  • Puede haber falsos positivos; se requiere verificación manual en el contexto real de NGINX.
  • Directivas complejas de varias líneas, expansiones anómalas de include o configuraciones generadas dinámicamente pueden afectar los resultados del escaneo.
  • La ausencia de detección de riesgos no garantiza seguridad absoluta; aun así se debe actualizar a la versión parcheada oficial.

Referencias

  • depthfirst: https://depthfirst.com/research/nginx-rift-achieving-nginx-rce-via-an-18-year-old-vulnerability
  • NVD CVE-2026-42945: https://nvd.nist.gov/vuln/detail/CVE-2026-42945
  • F5 Advisory K000161019: https://my.f5.com/manage/s/article/K000161019
Descargar herramienta