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
Ferramentas/GitHubGitHub/friparia/nginx_rift_scan_cve_2026_42945
Análise EstáticaScanners de VulnerabilidadesExploraçãoAuditoria de ConfiguraçãoSegurança WebConfiguração Incorreta
GitHubfriparia/nginx_rift_scan_cve_2026_42945

NGINX_RIFT_SCAN_CVE_2026_42945

Nginx Rewrite CVE Scan(CVE-2026-42945 nginx-rift CVE-2026-9256)

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
349há 2 mesesRevisado pelo Kitploit

NGINX Rift - Scanner de Configuração

Idioma: Chinês | Inglês

Este é um script leve para verificar se a configuração do NGINX contém padrões de risco relacionados a CVE-2026-42945 (NGINX Rift) e CVE-2026-9256.

A vulnerabilidade foi divulgada por depthfirst no artigo NGINX Rift: Achieving NGINX RCE via an 18-Year-Old Vulnerability. De acordo com o artigo e as descrições da F5/NVD, o risco está associado a combinações específicas de configuração do módulo ngx_http_rewrite_module: no mesmo contexto de configuração, a string de substituição de rewrite contém ? e, em seguida, rewrite, if ou set referencia uma variável de captura PCRE sem nome, como $1, $2.

Alvos de verificação

Esta ferramenta verifica principalmente se existem os seguintes padrões de alto risco em arquivos de configuração do NGINX.

CVE-2026-42945

Sequência de alto risco como o exemplo abaixo:

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

O ponto de risco não é um rewrite ou set isolado, mas a ordem de execução deles no mesmo contexto:

  1. rewrite usa captura regex e a string de substituição contém ?
  2. rewrite, if ou set subsequente usa variáveis de captura sem nome como $1, $2

Essa combinação pode causar uma inconsistência entre o cálculo de comprimento e o estágio de cópia real no mecanismo de script do NGINX, resultando em um estouro de buffer no heap.

CVE-2026-9256

rewrite de alto risco como o exemplo abaixo:

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

Condições de risco:

  1. A expressão regular contém grupos de captura sobrepostos, por exemplo, em ^/((.*))$ o $1 contém $2
  2. A string de substituição, em contexto de redirecionamento (redirect) ou argumentos, referencia múltiplos grupos de captura sobrepostos, por exemplo, $1$2

Observe que break não elimina o risco; desde que múltiplos grupos de captura sobrepostos apareçam na parte de argumentos após ?, ainda se enquadra em contexto de argumentos. Rewrite de URI normal como /$1$2 break não aciona a condição para este CVE.

Quando o script encontra esse padrão, ele é marcado explicitamente como CVE-2026-9256.

Escopo de impacto

O escopo afetado listado no artigo depthfirst inclui:

  • NGINX Open Source 0.6.27 a 1.30.1
  • NGINX Plus R32 a R36
  • Alguns produtos F5 / NGINX baseados no NGINX

Para versões corrigidas e matriz de produtos, consulte o boletim oficial da F5 ou os avisos de segurança da distribuição. Mesmo que a versão esteja dentro do escopo afetado, normalmente é necessária uma sequência de configuração rewrite específica para acionar a vulnerabilidade.

O script exibe simultaneamente a versão atual do NGINX e o resultado da verificação da configuração:

  • Versão em 0.6.27 - 1.30.1 e configuração atingiu a sequência de risco: é obrigatório fazer upgrade do NGINX ou ajustar a configuração.
  • Versão em 0.6.27 - 1.30.1 mas configuração não atingiu a sequência de risco: upgrade recomendado, mas este scanner não encontrou a condição de acionamento na configuração.
  • Configuração atingiu a sequência de risco mas versão não está no escopo afetado: é recomendado revisar a configuração e manter a versão corrigida.

Como usar

Digitalize diretamente a configuração completa do NGINX na máquina atual:

root@kitploit:~
python3 scan_rift.py

O script irá executar:

root@kitploit:~
nginx -T

Se o usuário atual não tiver permissão para ler a configuração completa, use sudo:

root@kitploit:~
sudo python3 scan_rift.py

Também é possível digitalizar um arquivo de configuração já exportado:

root@kitploit:~
python3 scan_rift.py /caminho/para/nginx-full.conf

Por exemplo, exporte a configuração primeiro e depois digitalize:

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

Explicação da saída

Quando nenhuma sequência de risco é encontrada:

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.

Quando uma sequência suspeita é encontrada:

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.

Quando um padrão suspeito de CVE-2026-9256 é encontrado:

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.

Depois de detectar um padrão, confirme manualmente se o contexto da configuração pode ser alcançado por requisições externas e atualize o NGINX ou ajuste a configuração o mais rápido possível.

Recomendações de tratamento

  • Atualize para a versão corrigida fornecida pelo fabricante.
  • Verifique todas as combinações de rewrite/set em contextos como location, server, if, etc.
  • Evite continuar usando variáveis de captura sem nome como $1, $2 após um rewrite com ?.
  • Evite concatenar múltiplos grupos de captura sobrepostos em redirecionamentos ou argumentos, por exemplo, ^/((.*))$ combinado com ?$1$2.
  • Não trate break como uma forma de evitar CVE-2026-9256; /?$1$2 break ainda será detectado.
  • Alternativamente, use capturas nomeadas, salve variáveis com antecedência, divida a lógica de processamento ou remova rewrites de query string desnecessários.

Limitações

Este script é uma ferramenta de verificação estática de configuração, destinada a identificar rapidamente padrões de alto risco, e não equivale a uma validação de exploração de vulnerabilidade.

  • Pode haver falsos positivos; é necessária revisão manual combinada com o contexto real do NGINX.
  • Diretivas complexas de várias linhas, expansão anormal de include ou configurações geradas dinamicamente podem afetar os resultados da verificação.
  • A ausência de detecção de risco não significa segurança absoluta; ainda é recomendável atualizar para a versão oficial corrigida.

Referências

  • 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
Baixar ferramenta
  • Antes da correção, priorize o tratamento de serviços NGINX e proxies reversos acessíveis pela Internet pública.
  • Não confie apenas na versão para julgar; se a configuração contém ou não a sequência de acionamento também é fundamental.