Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
nginx-rift-detect — Script de detecção comportamental para CVE-2026-42945 (NGINX Rift) — estouro de heap no ngx_http_rewrite_module. Sem RCE, detecção baseada apenas em crash. | Kitploit
Ferramentas/GitHubGitHub/iammerrida-source/nginx-rift-detect
Scanners de VulnerabilidadesExploraçãoColeta de InformaçõesSegurança WebSegurança de RedeTestes de Penetração
GitHubiammerrida-source/nginx-rift-detect

nginx-rift-detect

Script de detecção comportamental para CVE-2026-42945 (NGINX Rift) — estouro de heap no ngx_http_rewrite_module. Sem RCE, detecção baseada apenas em crash.

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório
3há 3 mesesAinda não revisado

nginx-rift-detect

Script de detecção comportamental para CVE-2026-42945 (NGINX Rift) — um estouro de buffer no heap em ngx_http_rewrite_module presente no nginx desde 2008.

Python CVE CVSS License


⚠️ Aviso Legal

Esta ferramenta destina-se exclusivamente a testes de segurança autorizados e pesquisa. Execute-a apenas contra sistemas que você possui ou para os quais tem permissão explícita por escrito para testar. O uso não autorizado pode violar as leis de crimes de informática em sua jurisdição. O autor não se responsabiliza por qualquer uso indevido ou danos causados por esta ferramenta.


Histórico

CVE-2026-42945 é um estouro de buffer no heap no mecanismo de script de rewrite do nginx (ngx_http_rewrite_module), introduzido na versão 0.6.27 (2008) e presente por ~18 anos.

O bug vem de uma incompatibilidade entre duas passagens do mecanismo de rewrite:

  • Passo 1 (cálculo do comprimento): vê is_args = 0 → aloca um buffer pequeno
  • Passo 2 (cópia de dados): vê is_args = 1 → chama ngx_escape_uri, expandindo cada byte escapável (como +) para 3× seu tamanho → estoura o buffer do heap

Isso permite execução remota de código não autenticada.

Versões afetadas:

ProdutoVulnerávelCorrigido
NGINX Open Source0.6.27 – 1.30.01.30.1, 1.31.0+
NGINX PlusR32 – R36R36 P4, R35 P2, R32 P6

Referências:

  • Pesquisa original & PoC — DepthFirstDisclosures
  • F5 Security Advisory K000160932

Como funciona a detecção

Este script não tenta RCE. Ele imita o fluxo do PoC usando sockets brutos:

  1. Canário — envia 3 requisições normais para confirmar que o servidor está estável antes do teste
  2. Heap spray — abre 20 conexões para segurar memória
  3. Gatilho — envia GET /api/<349×A><969×+> como uma requisição HTTP parcial
  4. Sonda — se o socket do gatilho fechar inesperadamente (worker crashou e foi reiniciado), o alvo é marcado como vulnerável

A detecção depende de crashar um processo worker. O master do nginx irá reiniciá-lo imediatamente, mas haverá uma breve interrupção. Use com cautela em sistemas de produção.


Uso

root@kitploit:~
# Single target (HTTP)
python3 detect-CVE-2026-42945.py --host 127.0.0.1 --port 80

# Single target (HTTPS)
python3 detect-CVE-2026-42945.py --host example.com --port 443 --tls

# List of targets
python3 detect-CVE-2026-42945.py -l targets.txt

# With threading and output file
python3 detect-CVE-2026-42945.py -l targets.txt --threads 10 -o vulnerable.txt

# More attempts for unreliable targets
python3 detect-CVE-2026-42945.py --host 10.0.0.1 --port 8080 --tries 5

Formato do targets.txt — um por linha:

root@kitploit:~
http://example.com
https://example.com:8443
192.168.1.1
192.168.1.1:8080

Opções:

root@kitploit:~
--host          Alvo único (host)
--port          Porta (padrão: 80, ou 443 com --tls)
--tls           Usar TLS/HTTPS para alvo único
-l, --list      Arquivo com lista de alvos
--tries         Tentativas de detecção por alvo (padrão: 3)
--threads       Threads concorrentes para varredura de lista (padrão: 5)
-o, --output    Salvar alvos vulneráveis em arquivo CSV

Exemplo de saída

root@kitploit:~
[*] CVE-2026-42945 Detecção de NGINX Rift | alvos=2 threads=5 tentativas=3

[*] http://192.168.1.1:80   - nginx/1.28.0
[*] http://192.168.1.2:8080 - nginx/1.31.0

[!!!] VULNERÁVEL | http://192.168.1.1:80 | nginx/1.28.0 | crash do worker (conexão de gatilho fechada — worker reiniciado)
[+]   http://192.168.1.2:8080 - não vulnerável (ou erro de tempo, tente --tries 5)

==================================================
[*] Varredura completa. 2 alvos escaneados.
[!!!] 1 alvo VULNERÁVEL:
      http://192.168.1.1:80 (nginx/1.28.0)
==================================================

Testando contra o Laboratório

O repositório original inclui um ambiente de laboratório Docker:

root@kitploit:~
git clone https://github.com/DepthFirstDisclosures/Nginx-Rift
cd Nginx-Rift
chmod +x setup.sh && ./setup.sh
docker compose -f env/docker-compose.yml up -d

python3 detect-CVE-2026-42945.py --host 127.0.0.1 --port 19321

Licença

MIT — veja LICENSE


Pesquisa original de vulnerabilidade e PoC: DepthFirstDisclosures

Baixar ferramenta