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-scanner — Scanner apenas de deteção para CVE-2026-42945 (NGINX Rift), um estouro de heap no ngx_http_rewrite_module. Deteção de versão + análise de padrões do nginx.conf. Apenas stdlib do Python 3, sem chamadas de rede. | Kitploit
Ferramentas/GitHubGitHub/simota/nginx-rift-scanner
Análise EstáticaScanners de VulnerabilidadesAnálise de VulnerabilidadesAnálise de CódigoAuditoria de ConfiguraçãoSegurança Web
GitHubsimota/nginx-rift-scanner

nginx-rift-scanner

Scanner apenas de deteção para CVE-2026-42945 (NGINX Rift), um estouro de heap no ngx_http_rewrite_module. Deteção de versão + análise de padrões do nginx.conf. Apenas stdlib do Python 3, sem chamadas de rede.

Ver Repositório
13há 3 mesesAinda não revisado

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

nginx-rift-scanner

Scanner Python 3 sem dependências para CVE-2026-42945 ("NGINX Rift") — um estouro de buffer baseado em heap (CWE-122) 9.2 CRÍTICO (CVSS v4.0) em ngx_http_rewrite_module.

O que detecta

Duas verificações independentes são realizadas em cada execução:

VerificaçãoComo
Versãonginx -V, dpkg/rpm/apk, tags de imagem Dockerfile/compose
Padrão de configuraçãoAnálise ciente de chaves do nginx.conf + todos os arquivos include

Versões afetadas

EdiçãoVulnerávelCorrigido
NGINX OSS0.6.27 – 1.30.11.31.0+ (ou 1.30.1 com patch)
NGINX PlusR32 antes de R32P6R32P6+
NGINX PlusR36 antes de R36P4R36P4+
NGINX PlusR37+Não afetado

Nota sobre 1.30.1: a versão estável 1.30.1 corrigida reporta a mesma string de versão que a vulnerável, portanto o scanner classifica qualquer 1.30.1 como POTENCIALMENTE_VULNERÁVEL (código de saída 1, conservador). Verifique o changelog do pacote / backport do advisory para confirmar que o patch foi aplicado.

Padrão de disparo de configuração

Um bloco de escopo é sinalizado quando todas as três condições são verdadeiras:

  1. Uma diretiva rewrite, if ou set usa uma referência de captura PCRE sem nome ($1–$9, incluindo a forma com chaves ${1}–${9}).
  2. O argumento de valor/substituição dessa diretiva contém um caractere ? (para rewrite/set o argumento do padrão regex é excluído — um ? ali é um quantificador PCRE; condições if são verificadas de forma conservadora).
  3. Outra diretiva rewrite/if/set segue no mesmo escopo (includes são inseridos no escopo que os inclui, portanto pares que abrangem um limite de include são detectados).

Início rápido

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

# Verifique o nginx local (binário no PATH, config em /etc/nginx/nginx.conf)
python3 scripts/scan_nginx_rift.py

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

# Saída JSON (CI / SIEM)
python3 scripts/scan_nginx_rift.py --json

# Valide com fixtures incluídas
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 saída: 0 = limpo, 1 = versão VULNERÁVEL / POTENCIALMENTE_VULNERÁVEL ou padrão de configuração sinalizado.

Opções

FlagPadrãoDescrição
--nginx-binary PATHnginxCaminho para o executável nginx
--config PATH/etc/nginx/nginx.confConfiguração raiz do nginx a ser verificada
--prefix PATHdiretório de --configPrefixo de configuração do nginx usado para resolver caminhos relativos de include (o nginx os resolve em relação ao prefixo, não ao diretório do arquivo que inclui)
--scan-dir PATH.Diretório para buscar arquivos Dockerfile/compose
--json—Emitir relatório JSON para stdout

Remediação

Atualização (preferida):

  • OSS → NGINX ≥ 1.31.0 (ou aplicar o patch estável 1.30.1)
  • Plus → R32P6+, R36P4+, ou R37+

Solução alternativa — substituir capturas sem nome por capturas nomeadas em toda diretiva rewrite/if/set que também contenha ?:

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

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

Nota sobre falsos positivos

As descobertas de configuração são heurísticas. Uma diretiva sinalizada não garante explorabilidade — o ? pode não estar no caminho de construção da URI, ou a referência de captura pode não interagir com a alocação que causa o estouro. Cada descoberta deve ser revisada por um humano antes de priorizar a remediação.

Requisitos

  • Python 3.6+ (apenas stdlib — sem instalações pip)
  • Binário nginx (opcional — verificação de versão ignorada se ausente)

Fixtures

ArquivoResultado esperado
fixtures/vulnerable.nginx.conf3 descobertas de configuração, saída 1
fixtures/safe.nginx.conf0 descobertas de configuração, saída 0

Testes

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

Referências

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