Vulnerabilidade Crítica no NGINX Corrigida Após 18 Anos, Expondo Servidores a Execução Remota de Código
Pesquisadores de segurança descobriram uma vulnerabilidade crítica de estouro de buffer no heap no **NGINX Plus** e **NGINX Open Source**, apelidada de **NGINX Rift** (**CVE-2026-42945**), que permaneceu indetectada por 18 anos. Essa falha poderia permitir que atacantes não autenticados realizassem execução remota de código ou causassem negação de serviço (DoS) através de requisições HTTP especialmente criadas.

### NGINX Rift: Uma Análise Profunda da CVE-2026-42945
A vulnerabilidade, descoberta por **depthfirst**, reside no módulo `ngx_http_rewrite_module`. De acordo com a **F5**, a vulnerabilidade existe quando a diretiva `rewrite` é seguida por uma diretiva `rewrite`, `if` ou `set` e uma captura de Expressão Regular Compatível com Perl (PCRE) sem nome (por exemplo, $1, $2) com uma string de substituição que inclui um ponto de interrogação (?).
Um atacante não autenticado, sob certas condições, pode explorar essa falha enviando requisições HTTP especialmente criadas. Isso pode levar a um estouro de buffer no heap no processo de trabalho do NGINX, potencialmente causando uma reinicialização ou, se a Aleatorização de Layout de Espaço de Endereçamento (ASLR) estiver desativada, execução remota de código.
### Versões Afetadas e Informações de Correção
O problema foi corrigido nas seguintes versões após divulgação responsável em 21 de abril de 2026:
* NGINX Plus R32 - R36 (Correções introduzidas em R32 P6 e R36 P4)
* NGINX Open Source 1.0.0 - 1.30.0 (Correções introduzidas em 1.30.1 e 1.31.0)
* NGINX Open Source 0.6.27 - 0.9.7 (Nenhuma correção planejada)
* NGINX Instance Manager 2.16.0 - 2.21.1
* F5 WAF for NGINX 5.9.0 - 5.12.1
* NGINX App Protect WAF 4.9.0 - 4.16.0
* NGINX App Protect WAF 5.1.0 - 5.8.0
* F5 DoS for NGINX 4.8.0
* NGINX App Protect DoS 4.3.0 - 4.7.0
* NGINX Gateway Fabric 1.3.0 - 1.6.2
* NGINX Gateway Fabric 2.0.0 - 2.5.1
* NGINX Ingress Controller 3.5.0 - 3.7.2
* NGINX Ingress Controller 4.0.0 - 4.0.1
* NGINX Ingress Controller 5.0.0 - 5.4.1
### Explotabilidade e Impacto
O aviso da Depthfirst destaca a gravidade da vulnerabilidade, observando que ela permite que um atacante remoto e não autenticado corrompa o heap de um processo de trabalho do NGINX enviando uma URI especialmente criada. A facilidade de exploração, juntamente com o potencial de execução remota de código, torna este um problema crítico.
"Um atacante que pode alcançar um servidor NGINX vulnerável via HTTP pode enviar uma única requisição que estoura o heap no processo de trabalho e alcança a execução remota de código", declarou depthfirst. "Não há etapa de autenticação, nenhum requisito de acesso prévio e nenhuma necessidade de uma sessão existente."
Requisições repetidas também podem ser usadas para criar um loop de falha, degradando significativamente a disponibilidade de sites servidos pela instância afetada.
### Vulnerabilidades Adicionais Corrigidas
Além da **CVE-2026-42945**, os lançamentos mais recentes do NGINX também corrigem as seguintes vulnerabilidades:
* **CVE-2026-42946** (Pontuação CVSS v4: 8.3): Uma vulnerabilidade de alocação excessiva de memória nos módulos `ngx_http_scgi_module` e `ngx_http_uwsgi_module`, potencialmente permitindo que um atacante remoto com capacidades de adversário no meio (AitM) leia a memória do processo de trabalho do NGINX ou acione uma reinicialização.
* **CVE-2026-40701** (Pontuação CVSS v4: 6.3): Uma vulnerabilidade de use-after-free no módulo `ngx_http_ssl_module`, que poderia conceder a um atacante remoto controle limitado sobre a modificação de dados ou a capacidade de reiniciar o processo de trabalho do NGINX.
* **CVE-2026-42934** (Pontuação CVSS v4: 6.3): Uma vulnerabilidade de leitura fora dos limites no módulo `ngx_http_charset_module`, potencialmente permitindo que um atacante remoto divulgue o conteúdo da memória ou reinicie o processo de trabalho do NGINX.
### Mitigação e Recomendações
Os usuários são fortemente aconselhados a aplicar as versões mais recentes do NGINX para garantir proteção ideal. Se o patching imediato não for viável para a **CVE-2026-42945**, uma solução temporária envolve alterar a configuração de rewrite substituindo capturas sem nome por capturas nomeadas em cada diretiva de rewrite afetada.