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
nginx-cve-2026-42945-check — Escáner local de solo lectura para CVE-2026-42945 (NGINX Rift) que verifica instancias de NGINX, OpenResty y Tengine en busca de configuraciones rewrite vulnerables sin ejecutar exploits ni modificar servicios. | Kitploit
Herramientas/GitHubGitHub/byezero/nginx-cve-2026-42945-check
Análisis EstáticoEscáneres de VulnerabilidadesAnálisis de VulnerabilidadesScripting y AutomatizaciónAuditoría de ConfiguraciónSeguridad Web
GitHubbyezero/nginx-cve-2026-42945-check

nginx-cve-2026-42945-check

Escáner local de solo lectura para CVE-2026-42945 (NGINX Rift) que verifica instancias de NGINX, OpenResty y Tengine en busca de configuraciones rewrite vulnerables sin ejecutar exploits ni modificar servicios.

Ver Repositorio
4hace 3 mesesAún no revisado

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

Script de verificación local para NGINX CVE-2026-42945

Idioma: 中文 | English

Este repositorio proporciona dos scripts de verificación local para inspeccionar en servidores Linux / Windows si Nginx, OpenResty o Tengine presentan riesgos relacionados con CVE-2026-42945.

Los scripts solo realizan recopilación de solo lectura y evaluación local; no ejecutan PoC de vulnerabilidades, no envían solicitudes de ataque, no modifican la configuración, no reinician servicios ni actualizan software.

Contexto de la vulnerabilidad

CVE-2026-42945, también conocido como NGINX Rift, está descrito en fuentes públicas como un desbordamiento de búfer en el montón en ngx_http_rewrite_module. Según la descripción de NVD, cuando la directiva rewrite forma una combinación específica con directivas rewrite / if / set posteriores e involucra variables de captura PCRE sin nombre (por ejemplo, , ) y cadenas de sustitución que contienen el signo de interrogación , un atacante podría provocar un desbordamiento de búfer en el montón en el proceso worker de NGINX mediante solicitudes HTTP especialmente diseñadas. Este problema podría provocar el reinicio del proceso worker; en condiciones específicas, como con ASLR desactivado, existe riesgo de ejecución de código.

$1
$2
?

El aviso de seguridad oficial de NGINX clasifica CVE-2026-42945 como un desbordamiento de búfer en ngx_http_rewrite_module y proporciona el alcance de la corrección para NGINX Open Source:

EstadoVersión de NGINX Open Source
Corregido1.31.0+ / 1.30.1+
Posiblemente afectado0.6.27-1.30.0

Las distribuciones, los productos comerciales, OpenResty, Tengine o las compilaciones privadas pueden presentar diferencias en los backports de parches o en el mapeo de versiones. El script intentará recopilar la mayor evidencia posible, pero se recomienda confirmar manualmente junto con los avisos de los proveedores.

Objetivo de la verificación

Esta herramienta no es una herramienta de validación de explotación de vulnerabilidades, sino una herramienta de recopilación local e inspección estática de configuración. Se centra en identificar las siguientes combinaciones:

  1. Uso de variables de captura sin nombre sin escapar, como $1, $2, en la cadena de sustitución de la directiva rewrite.
  2. La misma cadena de sustitución de rewrite contiene un ? sin escapar; los signos de interrogación literales con la forma \? no se consideran una condición de riesgo.
  3. En el mismo ámbito de configuración existen directivas rewrite, if o set posteriores.

Ejemplo de patrón de riesgo:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?endpoint=$1 last;
    set $flag 1;
}

El riesgo no proviene de una directiva rewrite o set aislada, sino de la condición de activación que forman conjuntamente la versión, el contexto de configuración y el orden de ejecución. Ante una coincidencia, se recomienda confirmar manualmente si esa configuración es la efectivamente aplicada, si puede ser alcanzada por solicitudes externas y si la distribución ya la ha corregido mediante un backport.

Descripción de archivos

ArchivoDescripción
check_nginx_linux.shScript de verificación local para Linux
check_nginx_windows.ps1Script de verificación local para Windows
README.mdDocumentación en chino
README.en.mdREADME en inglés

Alcance de capacidades

La primera versión admite:

  • Verificar Nginx / OpenResty / Tengine instalados de forma nativa en el equipo local.
  • Recopilar información del host, de procesos y servicios, información de versión, parámetros de compilación y configuración efectiva.
  • Verificar una por una varias instancias de Nginx / OpenResty / Tengine en el mismo servidor.
  • Identificar configuraciones peligrosas de rewrite relacionadas con CVE-2026-42945.
  • Generar resultados de consola en chino, summary.txt, summary.json y un directorio de evidencia sin procesar.

La primera versión no incluye:

  • Verificación de Docker / Kubernetes.
  • Escaneo remoto por SSH / WinRM.
  • Reparación automática, actualización automática o modificación automática de la configuración.
  • PoC de vulnerabilidades o solicitudes de ataque.

Requisitos de ejecución

Se recomienda ejecutar con privilegios de administrador:

  • Linux: usar root o una cuenta con privilegios sudo.
  • Windows: usar PowerShell con la opción «Ejecutar como administrador».

Sin privilegios de administrador, el script recopilará todo lo que pueda; si no es posible exportar la configuración efectiva completa de nginx -T, el resultado se marcará como Requiere revisión manual.

Uso en Linux

Suba check_nginx_linux.sh al servidor y ejecute:

root@kitploit:~
chmod +x check_nginx_linux.sh
sudo ./check_nginx_linux.sh

Si no puede usar sudo, también puede ejecutarlo directamente:

root@kitploit:~
./check_nginx_linux.sh

Uso en Windows

Suba check_nginx_windows.ps1 al servidor y, con PowerShell en modo «Ejecutar como administrador», ejecute:

root@kitploit:~
powershell -ExecutionPolicy Bypass -File .\check_nginx_windows.ps1

Contenido de la salida

El script genera un directorio de resultados en el mismo directorio en el que se encuentra. El nombre del directorio incluye el nombre del host, la hora y el ID del proceso del script, para evitar que se mezcle la evidencia si se ejecuta varias veces en el mismo segundo.

root@kitploit:~
nginx_check_<主机名>_<时间>_<进程ID>/
  summary.txt
  summary.json
  raw/
    host_info.txt
    process_info.txt
    service_info.txt
    package_info.txt
    nginx_paths.txt
    instances/
      instance_01/
        nginx_invocation.txt
        nginx_version.txt
        nginx_build.txt
        nginx_config_dump.txt
        risky_config_matches.txt
      instance_02/
        ...
Archivo o directorioDescripción
summary.txtResumen en chino, adecuado para revisión manual y reenvío posterior
summary.jsonResultado estructurado, para facilitar la consolidación posterior por lotes
raw/Salida original de comandos y archivos de evidencia
raw/instances/instance_XX/Versión, configuración y evidencia de riesgo independientes de cada instancia

El resumen registra:

CampoDescripción
Número de instanciasNúmero de instancias candidatas de Nginx / OpenResty / Tengine encontradas y verificadas una por una en el equipo local
Tamaño de la configuraciónTamaño del archivo de resultados de configuración sin procesar exportado por nginx -T
Líneas escaneadasNúmero de líneas de salida de configuración realmente escaneadas por el script
Coincidencias de configuración peligrosaNúmero de reglas peligrosas de rewrite que coinciden
Resumen de evidenciaVista previa de la evidencia de la instancia de mayor riesgo; la evidencia completa se encuentra en el directorio de la instancia correspondiente

Si la configuración de Nginx es muy extensa, el script no imprime la configuración completa en la consola; la configuración efectiva completa se guarda en nginx_config_dump.txt dentro del directorio de la instancia correspondiente. Cuando el archivo de configuración exportado supere los 10 MB, el script continuará el escaneo automáticamente y avisará de que se recomienda realizar una revisión manual por muestreo junto con los resultados de raw/.

Gestión de múltiples instancias

Si en el servidor se encuentran varios ejecutables candidatos nginx, openresty o tengine, el script los verifica uno por uno y genera el detalle de cada instancia.

La conclusión del resumen general se toma de la instancia de mayor riesgo. La conclusión global utiliza una prioridad conservadora:

  1. Afectado con configuración de riesgo
  2. Requiere revisión manual
  3. Afectado sin configuración de riesgo
  4. No afectado
  5. Nginx no instalado

De ellas, Requiere revisión manual tiene prioridad sobre Afectado sin configuración de riesgo; indica que existen instancias sin confirmar que requieren seguir verificándose, y no equivale a que se haya confirmado la existencia de una configuración peligrosa.

Conclusiones de la verificación

ConclusiónSignificado
Nginx no instaladoNo se encuentran comandos, procesos ni servicios de Nginx / OpenResty / Tengine
No afectadoLa versión es claramente una versión corregida y no se ha encontrado ninguna configuración peligrosa
Afectado sin configuración de riesgoLa versión es posiblemente afectada, pero no se ha encontrado ninguna configuración peligrosa de rewrite
Afectado con configuración de riesgoLa versión es posiblemente afectada o es una variante derivada que requiere revisión, y se ha encontrado una configuración peligrosa de rewrite
Requiere revisión manualVersión desconocida, variante derivada, fallo en la recopilación de la configuración, permisos insuficientes o evidencia insuficiente

Determinación de versiones

ProductoDeterminación de versión
NGINX 1.31.0+Corregida; el script la muestra como Corregida (mainline)
NGINX 1.30.1+Corregida; el script la muestra como Corregida (stable)
NGINX 0.6.27-1.30.0Posiblemente afectado
OpenResty / TengineSe pueden recopilar la versión y la configuración, pero la relación de impacto por versión requiere revisión manual de forma predeterminada

Las distribuciones pueden presentar casos en los que «el número de versión es antiguo pero el parche ya se ha aplicado mediante backport». Si se puede aportar la prueba del parche del proveedor, se puede realizar la confirmación manual combinando summary.txt y la información de la versión del paquete.

Recomendaciones de mitigación

  • Priorice la actualización a las versiones corregidas publicadas por el proveedor oficial o por el proveedor de la distribución.
  • Priorice la revisión de las entradas de red pública, las entradas de proxy inverso y las instancias de balanceo de carga perimetral.
  • Revise las combinaciones de rewrite / if / set en todos los contextos como location, server, if, etc.
  • Evite seguir usando variables de captura sin nombre como $1, $2 en cadenas de sustitución de rewrite que contengan ?.
  • Considere la posibilidad de usar capturas con nombre, guardar las variables con antelación, dividir la lógica de procesamiento o eliminar las reescrituras innecesarias de la cadena de consulta.
  • No se base únicamente en la determinación por versión; si la configuración contiene la secuencia de activación también es decisivo.

Limitaciones

  • Esta herramienta es un script de verificación local de solo lectura; no equivale a la validación de explotación de vulnerabilidades.
  • El escaneo estático de configuración puede producir falsos positivos y requiere revisión manual en el contexto real de NGINX.
  • Si nginx -T no puede exportar la configuración completa, el script no determinará que el sistema es seguro.
  • La relación de impacto por versión de OpenResty / Tengine / compilaciones privadas requiere revisión manual de forma predeterminada.
  • Que el escaneo no detecte riesgos no significa seguridad absoluta; se recomienda igualmente actualizar a la versión corregida confirmada por el proveedor oficial o por el proveedor de la distribución.

Referencias

  • NGINX Security Advisories
  • NVD: CVE-2026-42945
  • F5 Advisory K000161019
  • depthfirst: NGINX Rift
Descargar herramienta