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-rift-scanner — Escáner solo de detección para CVE-2026-42945 (NGINX Rift), un desbordamiento de montón en ngx_http_rewrite_module. Detección de versión + análisis de patrones de nginx.conf. Solo con la biblioteca estándar de Python 3, sin llamadas de red. | Kitploit
Herramientas/GitHubGitHub/simota/nginx-rift-scanner
Análisis EstáticoEscáneres de VulnerabilidadesAnálisis de VulnerabilidadesAnálisis de CódigoAuditoría de ConfiguraciónSeguridad Web
GitHubsimota/nginx-rift-scanner

nginx-rift-scanner

Escáner solo de detección para CVE-2026-42945 (NGINX Rift), un desbordamiento de montón en ngx_http_rewrite_module. Detección de versión + análisis de patrones de nginx.conf. Solo con la biblioteca estándar de Python 3, sin llamadas de red.

Ver Repositorio
13hace 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

nginx-rift-scanner

Escáner Python 3 sin dependencias para CVE-2026-42945 ("NGINX Rift") — un desbordamiento de búfer en montículo (CWE-122) CRÍTICO 9.2 en CVSS v4.0 en ngx_http_rewrite_module.

Lo que detecta

Se ejecutan dos comprobaciones independientes en cada invocación:

ComprobaciónCómo
Versiónnginx -V, dpkg/rpm/apk, etiquetas de imagen de Dockerfile/compose
Patrón de configuraciónAnálisis sensible a llaves de nginx.conf + todos los archivos included

Versiones afectadas

EdiciónVulnerableCorregido
NGINX OSS0.6.27 – 1.30.11.31.0+ (o 1.30.1 parcheado)
NGINX PlusR32 anterior a R32P6R32P6+
NGINX PlusR36 anterior a R36P4R36P4+
NGINX PlusR37+No afectado

Nota sobre 1.30.1: la compilación estable parcheada 1.30.1 reporta la misma cadena de versión que la vulnerable, por lo que el escáner clasifica cualquier 1.30.1 como POTENTIALLY_VULNERABLE (código de salida 1, conservador). Verifique el registro de cambios del paquete / backport del aviso para confirmar que el parche se aplicó.

Patrón de activación de configuración

Un bloque de ámbito se marca cuando se cumplen las tres condiciones:

  1. Una directiva rewrite, if o set utiliza una referencia de captura PCRE sin nombre ($1–$9, incluida la forma de llaves ${1}–${9}).
  2. El argumento valor/reemplazo de esa directiva contiene un carácter ? (para rewrite/set el argumento de patrón regex queda excluido — un ? ahí es un cuantificador PCRE; las condiciones if se escanean de forma conservadora).
  3. Otra directiva rewrite/if/set sigue en el mismo ámbito (los includes se insertan en el ámbito contenedor, por lo que se detectan pares que cruzan un límite de include).

Inicio rápido

root@kitploit:~
# Clone and run
git clone https://github.com/simota/nginx-rift-scanner.git
cd nginx-rift-scanner

# Scan local nginx (binary in PATH, config at /etc/nginx/nginx.conf)
python3 scripts/scan_nginx_rift.py

# Custom paths
python3 scripts/scan_nginx_rift.py \
  --nginx-binary /usr/sbin/nginx \
  --config /etc/nginx/nginx.conf \
  --prefix /etc/nginx \
  --scan-dir /app

# JSON output (CI / SIEM)
python3 scripts/scan_nginx_rift.py --json

# Validate with included fixtures
python3 scripts/scan_nginx_rift.py --config fixtures/vulnerable.nginx.conf
python3 scripts/scan_nginx_rift.py --config fixtures/safe.nginx.conf

Códigos de salida: 0 = limpio, 1 = versión VULNERABLE / POTENCIALMENTE_VULNERABLE o patrón de configuración marcado.

Opciones

BanderaPredeterminadoDescripción
--nginx-binary PATHnginxRuta al ejecutable de nginx
--config PATH/etc/nginx/nginx.confConfiguración raíz de nginx a escanear
--prefix PATHdirectorio de --configPrefijo de configuración de nginx usado para resolver rutas de include relativas (nginx las resuelve contra el prefijo, no contra el directorio del archivo que incluye)
--scan-dir PATH.Directorio para buscar archivos Dockerfile/compose
--json—Emitir informe JSON a stdout

Remediación

Actualizar (preferido):

  • OSS → NGINX ≥ 1.31.0 (o aplicar el parche estable 1.30.1)
  • Plus → R32P6+, R36P4+, o R37+

Solución alternativa — reemplace las capturas sin nombre por capturas con nombre en cada directiva rewrite/if/set que también contenga ?:

root@kitploit:~
# Vulnerable
rewrite ^/api/(\w+)$ /new-api?path=$1 last;

# Safe
rewrite ^/api/(?<action>\w+)$ /new-api?path=$action last;

Nota sobre falsos positivos

Los hallazgos de configuración son heurísticos. Una directiva marcada no garantiza explotabilidad — el ? puede no estar en la ruta de construcción de URI, o la referencia de captura puede no interactuar con la asignación que se desborda. Cada hallazgo debe ser revisado por un humano antes de priorizar la remediación.

Requisitos

  • Python 3.6+ (solo stdlib — sin pip installs)
  • Binario nginx (opcional — la comprobación de versión se omite si no está presente)

Fixtures

ArchivoResultado esperado
fixtures/vulnerable.nginx.conf3 hallazgos de configuración, salida 1
fixtures/safe.nginx.conf0 hallazgos de configuración, salida 0

Pruebas

root@kitploit:~
python3 -m unittest discover -s tests -v

Referencias

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-42945
  • F5 Advisory K000161019: https://my.f5.com/manage/s/article/K000161019
Descargar herramienta