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-cve-2026-42945-check — Scanner local apenas de leitura para CVE-2026-42945 (NGINX Rift) que verifica instâncias do NGINX, OpenResty e Tengine em busca de configurações de reescrita vulneráveis, sem executar exploits ou modificar serviços. | Kitploit
Ferramentas/GitHubGitHub/byezero/nginx-cve-2026-42945-check
Análise EstáticaScanners de VulnerabilidadesAnálise de VulnerabilidadesScripting e AutomaçãoAuditoria de ConfiguraçãoSegurança Web
GitHubbyezero/nginx-cve-2026-42945-check

nginx-cve-2026-42945-check

Scanner local apenas de leitura para CVE-2026-42945 (NGINX Rift) que verifica instâncias do NGINX, OpenResty e Tengine em busca de configurações de reescrita vulneráveis, sem executar exploits ou modificar serviços.

Ver Repositório
4há 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 CVE-2026-42945 Script de Verificação Local

Idioma: 中文 | English

Este repositório fornece dois scripts de verificação locais para verificar se Nginx, OpenResty ou Tengine em servidores Linux/Windows apresentam riscos relacionados ao CVE-2026-42945.

Os scripts realizam apenas coleta somente leitura e avaliação local, não executam PoC de vulnerabilidade, não enviam requisições de ataque, não modificam configurações, não reiniciam serviços e não atualizam software.

Contexto da Vulnerabilidade

O CVE-2026-42945, também conhecido como NGINX Rift, é descrito em documentos públicos como um problema de estouro de buffer no heap no ngx_http_rewrite_module. De acordo com a descrição do NVD, quando uma combinação específica da diretiva rewrite com diretivas rewrite / if / set subsequentes é formada, envolvendo variáveis de captura não nomeadas PCRE (por exemplo, , ) e strings de substituição contendo o caractere , um invasor pode acionar um estouro de buffer no heap no processo worker do NGINX através de uma requisição HTTP manipulada. Esse problema pode levar à reinicialização do worker; sob condições específicas, como ASLR desativado, há risco de execução de código.

$1
$2
?

O comunicado oficial de segurança do NGINX marca o CVE-2026-42945 como um buffer overflow no ngx_http_rewrite_module e fornece os limites de correção para o NGINX Open Source:

StatusVersão do NGINX Open Source
Corrigido1.31.0+ / 1.30.1+
Possivelmente afetado0.6.27-1.30.0

Distribuições, produtos comerciais, OpenResty, Tengine ou builds privados podem ter backports de correção ou diferenças de mapeamento de versão. Os scripts tentarão coletar evidências, mas a confirmação final deve ser feita manualmente com base nos comunicados dos fornecedores.

Objetivo da Verificação

Esta ferramenta não é uma ferramenta de validação de exploração, mas sim uma ferramenta de coleta local e verificação estática de configuração. Ela foca em identificar as seguintes combinações:

  1. Uso de variáveis de captura não nomeadas $1, $2 sem escape na string de substituição da diretiva rewrite.
  2. Presença de ? sem escape na mesma string de substituição do rewrite (interrogação literal com escape \? não é considerada condição de risco).
  3. No mesmo escopo de configuração, existência subsequente de diretivas rewrite, if ou set.

Exemplo de padrão de risco:

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

O risco não vem de uma única diretiva rewrite ou set, mas sim da combinação de versão, contexto de configuração e ordem de execução. Se detectado, ainda é recomendável confirmar manualmente se a configuração é realmente ativa, se pode ser acessada por requisições externas e se já foi corrigida por backport da distribuição.

Arquivos

ArquivoDescrição
check_nginx_linux.shScript de verificação local para Linux
check_nginx_windows.ps1Script de verificação local para Windows
README.mdDocumentação em chinês
README.en.mdREADME em inglês

Escopo de Capacidades

Primeira versão suporta:

  • Verificar Nginx / OpenResty / Tengine instalados nativamente no sistema.
  • Coletar informações do sistema, processos e serviços, versão, parâmetros de compilação, configuração ativa.
  • Suportar a verificação individual de múltiplas instâncias de Nginx / OpenResty / Tengine no mesmo servidor.
  • Identificar configurações rewrite perigosas relacionadas ao CVE-2026-42945.
  • Gerar resultados em console (chinês), summary.txt, summary.json e diretório de evidências brutas.

A primeira versão não inclui:

  • Verificação em Docker / Kubernetes.
  • Varredura remota via SSH / WinRM.
  • Correção automática, atualização automática ou modificação automática de configuração.
  • PoC de vulnerabilidade ou requisições de ataque.

Pré-requisitos de Execução

Recomenda-se executar com privilégios administrativos:

  • Linux: Usar conta root ou com acesso sudo.
  • Windows: PowerShell executado como administrador.

Sem privilégios administrativos, o script tentará coletar o máximo possível; se não conseguir exportar a configuração ativa completa nginx -T, o resultado será marcado como Requer verificação manual.

Uso no Linux

Faça upload do check_nginx_linux.sh para o servidor e execute:

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

Se não puder usar sudo, execute diretamente:

root@kitploit:~
./check_nginx_linux.sh

Uso no Windows

Faça upload do check_nginx_windows.ps1 para o servidor e execute no PowerShell como administrador:

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

Saída

O script gera um diretório de resultados no mesmo diretório do script. O nome do diretório contém o nome do host, hora e PID do script para evitar sobrescrita de evidências se executado no mesmo segundo.

root@kitploit:~
nginx_check_<hostname>_<horário>_<PID>/
  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/
        ...
Arquivo ou DiretórioDescrição
summary.txtResumo em chinês, adequado para visualização manual e relatório
summary.jsonResultado estruturado, útil para agregação em lote posterior
raw/Saída de comandos brutos e arquivos de evidência
raw/instances/instance_XX/Versão, configuração e evidência de risco de cada instância

O resumo registrará:

CampoDescrição
Número de instânciasQuantidade de candidatos Nginx / OpenResty / Tengine encontrados e verificados individualmente
Tamanho da configuraçãoTamanho do arquivo de configuração original exportado por nginx -T
Linhas escaneadasNúmero de linhas de saída de configuração efetivamente escaneadas pelo script
Número de configurações perigosas detectadasQuantidade de regras rewrite perigosas detectadas
Resumo das evidênciasPré-visualização das evidências da instância de maior risco; evidências completas no diretório da instância correspondente

Se a configuração do Nginx for grande, o script não imprimirá a configuração completa no console; a configuração ativa completa é salva no arquivo nginx_config_dump.txt do diretório da instância. Quando o arquivo de configuração exportado exceder 10 MB, o script continuará escaneando automaticamente e sugerirá inspeção manual com base nos resultados em raw/.

Tratamento de Múltiplas Instâncias

Se o servidor contiver múltiplos executáveis candidatos nginx, openresty ou tengine, o script verificará cada um e gerará detalhes das instâncias.

A conclusão geral do resumo usará a instância de maior risco. A prioridade conservadora segue:

  1. Afetado com configuração de risco
  2. Requer verificação manual
  3. Afetado sem configuração de risco
  4. Não afetado
  5. Nginx não instalado

Requer verificação manual tem prioridade sobre Afetado sem configuração de risco, indicando que existem instâncias não confirmadas que precisam de verificação adicional, não significando necessariamente que configuração de risco foi confirmada.

Conclusões da Verificação

ConclusãoSignificado
Nginx não instaladoNenhum comando, processo ou serviço Nginx / OpenResty / Tengine encontrado
Não afetadoVersão claramente corrigida e nenhuma configuração de risco encontrada
Afetado sem configuração de riscoVersão possivelmente afetada, mas nenhuma configuração de rewrite perigosa encontrada
Afetado com configuração de riscoVersão possivelmente afetada ou derivada que requer verificação, e configuração de rewrite perigosa encontrada
Requer verificação manualVersão desconhecida, versão derivada, falha na coleta de configuração, permissão insuficiente ou evidência insuficiente

Determinação de Versão

ProdutoJulgamento de Versão
NGINX 1.31.0+Corrigido, o script exibe Corrigido (mainline)
NGINX 1.30.1+Corrigido, o script exibe Corrigido (stable)
NGINX 0.6.27-1.30.0Possivelmente afetado
OpenResty / TengineVersão e configuração podem ser coletadas, mas a relação de impacto da versão requer verificação manual por padrão

Distribuições podem ter "versão antiga mas com backport de patch". Se for possível fornecer comprovação de patch do fornecedor, a confirmação manual pode ser feita combinando summary.txt e informações da versão do pacote.

Recomendações de Tratamento

  • Priorizar atualização para a versão corrigida oficial do fornecedor ou da distribuição.
  • Priorizar verificação em entradas de rede pública, proxies reversos e load balancers de borda.
  • Verificar todas as combinações de rewrite / if / set nos contextos location, server, if, etc.
  • Evitar usar variáveis de captura não nomeadas $1, $2 em strings de substituição rewrite que contenham ?.
  • Considere usar capturas nomeadas, salvar variáveis antecipadamente, dividir a lógica de processamento ou remover rewrites desnecessárias de query string.
  • Não confiar apenas no julgamento da versão; a configuração que contém a sequência de gatilho é igualmente crítica.

Limitações

  • Esta ferramenta é um script de verificação somente leitura local, não equivalente à validação de exploração.
  • A varredura estática de configuração pode gerar falsos positivos; é necessária verificação manual no contexto real do NGINX.
  • Se nginx -T não conseguir exportar a configuração completa, o script não considerará o sistema seguro.
  • A relação de versão e impacto para OpenResty / Tengine / builds privados requer verificação manual por padrão.
  • A ausência de riscos na varredura não significa segurança absoluta; ainda é recomendável atualizar para a versão corrigida confirmada pelo fornecedor oficial ou da distribuição.

Referências

  • Comunicados de Segurança do NGINX
  • NVD: CVE-2026-42945
  • F5 Advisory K000161019
  • depthfirst: NGINX Rift
Baixar ferramenta