Segurança da Informação

CVE-2026-42945 no NGINX: como uma regra de rewrite pode virar risco real para sua aplicação

Luis Oliveira
Luis Oliveira
03 Jun, 2026 7 min

Uma falha no módulo de rewrite do NGINX mostra como uma configuração aparentemente comum pode causar queda de servidores. Entenda o impacto da CVE-2026-42945, como identificar o risco e quais correções aplicar.

CVE-2026-42945 no NGINX: como uma regra de rewrite pode virar risco real para sua aplicação
0

CVE-2026-42945 no NGINX: como uma regra de rewrite pode virar risco real para sua aplicação

O NGINX está na frente de muita coisa: sites, APIs, aplicações internas, painéis administrativos, microserviços e ambientes em nuvem. Ele costuma ser aquele porteiro silencioso que ninguém nota quando tudo funciona. O problema é quando o porteiro tropeça no próprio tapete.

A CVE-2026-42945 chamou atenção justamente por isso. Ela envolve o módulo ngx_http_rewrite_module, usado para reescrever URLs, redirecionar rotas e adaptar caminhos entre sistemas antigos e novos.

Na prática, a falha mostra uma verdade meio indigesta para times de tecnologia: configuração também é código. E código copiado de tutorial, sem revisão, pode virar incidente de produção.

O que é a CVE-2026-42945

A CVE-2026-42945 é uma vulnerabilidade de buffer overflow em heap no NGINX.

Traduzindo para termos menos acadêmicos: em certas condições, o NGINX reserva um espaço de memória menor do que deveria e depois tenta escrever mais dados ali dentro. Quando isso acontece, o processo worker pode falhar e reiniciar.

Em muitos casos, o impacto mais provável é queda ou instabilidade do worker do NGINX. Em cenários mais específicos, principalmente quando proteções como ASLR estão desabilitadas ou são contornadas, o risco pode ser mais grave.

Isso não significa que todo servidor NGINX antigo está automaticamente “hackeável”. Também não significa que dá para ignorar. Segurança boa vive nesse meio-termo chato, mas necessário: sem pânico, sem sono profundo.

Onde está o problema

O ponto sensível está em configurações que usam rewrite com capturas não nomeadas de expressões regulares, como $1 ou $2, combinadas com uma substituição que contém ?.

Exemplo simplificado de padrão que merece revisão:

location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;
}

Esse tipo de configuração aparece em cenários bem comuns, como:

  • migração de APIs antigas;
  • criação de rotas internas;
  • compatibilidade entre endpoints;
  • redirecionamento com parâmetros;
  • adaptações rápidas feitas durante deploys.

O problema é que o “rápido” de hoje pode virar o “por que caiu?” de amanhã.

Imagem usada do artigo original:
Nome do arquivo SEO: heap-overflow-nginx-cve-2026-42945.webp
Alt text: Gráfico técnico mostrando comportamento de memória durante teste da CVE-2026-42945 no NGINX.
Legenda opcional: Visualização do crescimento de memória durante o teste da falha no módulo de rewrite.

Por que isso importa para empresas

Para muita empresa, o NGINX é uma peça invisível da infraestrutura. Ele fica ali fazendo proxy reverso, TLS, redirecionamento, compressão, roteamento e outras tarefas que só recebem atenção quando algo quebra.

A CVE-2026-42945 é preocupante porque o padrão afetado pode aparecer em lugares diferentes:

  • arquivos em /etc/nginx;
  • imagens Docker antigas;
  • templates de infraestrutura;
  • configurações de Ingress em Kubernetes;
  • stacks copiadas de projetos anteriores;
  • ambientes de homologação promovidos para produção.

Esse é o tipo de risco que não nasce de uma senha fraca ou de um banco exposto. Ele nasce de uma configuração que parecia normal.

E esse é o ponto mais importante: vulnerabilidades em infraestrutura muitas vezes não parecem vulnerabilidades. Elas parecem só “mais uma regra no arquivo de configuração”.

Como verificar se seu NGINX pode estar exposto

O primeiro passo é verificar a versão do NGINX:

nginx -v

Para a CVE-2026-42945, as versões corrigidas começam em NGINX 1.30.1 na linha stable e NGINX 1.31.0 na linha mainline.

Mas olhar só a versão não basta. Também é importante revisar as configurações de rewrite.

Um caminho simples é buscar regras de rewrite:

grep -RIn "rewrite" /etc/nginx/

Depois, procure por combinações suspeitas, principalmente quando houver:

  • uso de capturas não nomeadas, como $1, $2;
  • expressões regulares com grupos como (.*);
  • substituições com ?, como /destino?param=valor;
  • uso próximo de diretivas como rewrite, if ou set.

A ideia aqui não é sair apagando regra no susto. É revisar com calma, entender o fluxo e corrigir onde fizer sentido. Produção não é lugar para cirurgia no escuro, por mais emocionante que pareça no terminal.

Como corrigir o padrão de configuração

Uma abordagem mais segura é trocar capturas posicionais por named captures, ou seja, capturas nomeadas.

Em vez de usar algo genérico como (.*) e depender de $1, você dá nome ao trecho capturado:

location ~ ^/api/(?<endpoint>.*)$ {
    rewrite ^/api/(?<endpoint>.*)$ /internal?migrated=true;
}

Com isso, o NGINX passa a tratar a captura de forma mais previsível. Além disso, a variável nomeada, como $endpoint, fica disponível para uso posterior na configuração.

A correção ideal envolve duas frentes:

  1. Atualizar o NGINX para uma versão corrigida.
  2. Revisar as regras de rewrite para evitar padrões frágeis.

Só atualizar ajuda, mas revisar configuração evita que o mesmo tipo de problema volte disfarçado em outro arquivo.

Imagem usada do artigo original:
Nome do arquivo SEO: nginx-vulneravel-vs-corrigido-cve-2026-42945.webp
Alt text: Comparação entre configuração vulnerável e corrigida do NGINX durante teste da CVE-2026-42945.
Legenda opcional: A diferença entre uma configuração vulnerável e uma corrigida aparece claramente no comportamento da memória.

O que times de DevOps devem fazer agora

Para times de DevOps, SRE e segurança, a resposta deve ser prática.

Primeiro, faça um inventário dos ambientes que usam NGINX. Não olhe apenas para servidores tradicionais. Verifique também containers, imagens antigas, ambientes de homologação, proxies internos e ingress controllers.

Depois, revise versões e configurações. Se houver uso pesado de rewrite, vale criar uma pequena rotina de auditoria para procurar padrões com $1, $2 e ?.

Também é importante testar a atualização em homologação antes de aplicar em produção. NGINX costuma ser estável, mas mudanças em proxy reverso podem afetar rotas, headers e integrações. E ninguém quer descobrir isso sexta-feira às 18h, horário oficial do caos.

Risco real, mas sem sensacionalismo

A CVE-2026-42945 é séria porque envolve um componente muito usado e um padrão de configuração comum. Mas ela também depende de condições específicas.

Nem todo NGINX vulnerável por versão está necessariamente explorável na prática. A configuração precisa conter o padrão problemático. Por outro lado, confiar apenas em scanner de versão também pode ser perigoso, porque o risco real mora na combinação entre binário, configuração e exposição.

O caminho correto é:

  • atualizar;
  • auditar;
  • corrigir padrões frágeis;
  • monitorar reinícios inesperados de workers;
  • revisar templates reutilizados;
  • evitar copiar configuração sem entender.

Segurança não é só instalar patch. É saber onde o patch precisa chegar.

O aprendizado maior

Essa falha reforça uma lição importante para empresas: infraestrutura precisa de revisão técnica contínua.

Muitas vezes, o foco fica no código da aplicação, nas dependências do backend ou nas bibliotecas do frontend. Tudo isso importa. Mas o proxy, o balanceador, o arquivo de configuração e o container antigo também fazem parte do produto.

Quando uma regra de rewrite consegue derrubar um worker, fica claro que pequenas decisões de infraestrutura podem ter grande impacto operacional.

O NGINX continua sendo uma ferramenta excelente. A questão não é abandonar o NGINX. A questão é tratar configuração com o mesmo cuidado que tratamos código de aplicação.

Conclusão

A CVE-2026-42945 não é apenas “mais uma CVE”. Ela é um lembrete de que sistemas modernos dependem de várias camadas, e qualquer uma delas pode virar ponto de falha.

Para quem cuida de aplicações web, a recomendação é direta: verifique a versão do NGINX, revise regras de rewrite e substitua capturas posicionais por capturas nomeadas quando fizer sentido.

O problema pode estar em uma única linha. A correção também. Mas entre uma e outra existe algo que nenhuma ferramenta substitui completamente: revisão técnica bem feita.

Referência:
Este artigo foi inspirado e baseado na análise publicada por Joseph Felix em “A falha que pode derrubar a maioria dos sites da internet”: JoseFelix

Também foram consideradas informações públicas de advisories oficiais do NGINX e da NVD sobre a CVE-2026-42945.

#cibersegurança #CVE #CVE-2026-42945 #devops #infraestrutura #nginx #proxy #reverso #rewrite #security #segurança #servidores #vulnerabilidade #web

Comentários (0)

Seja o primeiro a comentar.

Deixe o seu comentário

É necessário ter uma conta ativa para comentar.