
CVE-2026-42945
Estouro de Buffer Baseado em Heap Crítico no NGINX
CVE-2026-42945 (também conhecida como NGINX Rift) é uma vulnerabilidade de segurança crítica no ngx_http_rewrite_module do NGINX.
A vulnerabilidade surge de um cálculo inconsistente do tamanho do buffer entre a fase de verificação de comprimento e a fase de cópia/escape ao processar regras de reescrita de URI.
| Status | Versões |
|---|---|
| Afetada | 0.6.27 → 1.30.0 |
| Corrigida | 1.30.1 e 1.31.0+ |
| Status | Lançamentos |
|---|---|
| Afetada | R32 → R36 |
| Corrigida | R36 P4, R32 P6, 37.0.0+ |
Nota: Muitos produtos F5 NGINX (Ingress Controller, App Protect, Gateway Fabric, etc.) são afetados se executarem em versões base vulneráveis.
O bug é acionado por uma combinação específica de diretivas:
rewrite cuja string de substituição contém um ? (ativa a flag is_args).rewrite, if ou set que utiliza capturas PCRE sem nome ($1, $2, etc.).is_args = false) → subestima o tamanho necessário do buffer.is_args = true) → chama ngx_escape_uri() com NGX_ESCAPE_ARGS.+, &, %, etc.) na URI causa estouro de heap.| Impacto | Severidade | Descrição |
|---|---|---|
CVSS v4.0 Pontuação: 9.2 (Crítica)
CVSS v3.1 Pontuação: 8.1 (Alta)
Substitua capturas sem nome por capturas nomeadas:
rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;
rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last;
Recomendação Chave: Audite todas as regras de reescrita que combinam strings de substituição contendo ? e o uso subsequente de $1, $2, etc.
CVE-2026-42945 é uma das vulnerabilidades mais significativas do NGINX nos últimos anos devido à sua longa existência, facilidade de exploração e potencial para RCE.
Aja agora — corrija suas instâncias e atualize suas configurações.
Feito com ❤️ para a comunidade de segurança
| Alta |
| Queda confiável do processo worker |
| Execução Remota de Código | Crítica (condicional) | Possível quando ASLR está desabilitado ou é contornado |
| Complexidade do Ataque | Baixa | Única requisição HTTP, sem autenticação |