Vinte Anos de Falhas no Nginx: O NGINX Rift Exige Patch Hoje
NGINX Rift: Uma Falha de 18 Anos que Exige Correção Imediata no Seu Servidor
Todo mundo sabe que código antigo pode ser um problema de segurança. Mas e se essa falha estiver escondida no Nginx, um dos servidores web mais usados da internet, há quase duas décadas?
A F5 lançou patches para quatro vulnerabilidades no Nginx. A mais grave, CVE-2026-42945 — batizada de "NGINX Rift" pelos pesquisadores da depthfirst —, exige que equipes de TI atuem agora mesmo.
O Que Torna Essa Falha Tão Perigosa
Vamos aos detalhes dessa ameaça:
O Problema: Um buffer overflow no heap, dentro do módulo rewrite do Nginx. Ele existe desde a versão 0.6.27, de 2008. Na época, Docker nem sonhava em existir, e Apache ainda reinava.
Como Atacar: Basta um pedido HTTP malicioso, sem autenticação. Nada de exploits complexos ou roubo de credenciais. Um request bem feito derruba tudo.
Consequências: Sem ASLR ativado, vira execução remota de código. Com ASLR, pelo menos um DoS constante — os workers crasham e reiniciam sem parar.
Pontuação CVSS: 9.2, nível crítico. Quase o pior possível.
Como Algo Assim Sobreviveu Tanto Tempo?
O módulo rewrite usa PCRE para combinar padrões de URL. Quando regras com capturas sem nome ($1, $2) vêm antes de outro rewrite, if ou set, o código extrapola a memória alocada. Erro clássico de buffer overflow, que passou batido em reviews.
Projetos open-source populares como Nginx não são infalíveis. Milhões de servidores rodam ele no mundo todo. Essa longevidade amplia o risco.
Quem Deve Correr para Atualizar
Usuários NGINX Plus: Versões R32 a R36 precisam dos patches R32 P6 ou R36 P4.
NGINX Open Source: De 1.0.0 a 1.30.0 estão vulneráveis. Suba para 1.30.1 ou 1.31.0 já.
Exceção Ruim: Versões 0.6.27 a 0.9.7 (finais de vida) não ganham patch. Hora de migrar de vez.
Medida Temporária se Não Der para Patchar
Em freeze de mudanças ou com dependências legadas, ajuste suas regras rewrite:
Troque capturas sem nome por nomeadas. Use (?<nome>...) em vez de ([0-9]+) com $1.
Exemplo prático:
# Regra vulnerável
rewrite ^/user/([0-9]+)$ /profile?id=$1 last;
# Regra mais segura (provisória)
rewrite ^/user/(?<id>[0-9]+)$ /profile?id=$id last;
É paliativo. Priorize o patch assim que possível.
As Outras Três Vulnerabilidades Patcheadas
NGINX Rift rouba a cena, mas tem mais:
- CVE-2026-42946 (CVSS 8.3 Alto): Alocação excessiva de memória em módulos SCGI e uWSGI, podendo causar DoS em proxies específicos.
- CVE-2026-40701 (CVSS 6.3 Médio): Use-after-free no módulo SSL, ativado por certas configs de ssl_verify_client e ssl_ocsp.
- CVE-2026-42934 (CVSS 4.8 Médio): Leitura fora dos limites no módulo charset.
Corrija na próxima janela de manutenção.
Lições para a Segurança de Infraestrutura
Esse caso reforça verdades duras:
- Fama não protege. Nginx é gigante, mas bugs antigos persistem.
- Idade não é teste de fogo. Código velho acumula falhas.
- Segurança depende do elo fraco. Um Nginx sem patch compromete tudo.
- Monitore sempre. DoS é imediato, mesmo com proteções.
Conclusão: Aja Rápido
Se usa Nginx — Open Source ou Plus —, veja esses patches como emergência. A combinação de idade extrema, ataque simples e gravidade alta coloca NGINX Rift no topo da lista.
Atualize esta semana. Teste em staging, mas não postergue em produção. O risco de vulnerabilidade supera qualquer medo de update em tech estável como Nginx.
Aproveite para auditar configs, regras rewrite e versões na sua infra. Fique protegido.