Falha crítica no NGINX permite derrubar servidores e pode levar à execução remota de código
- Cyber Security Brazil
- há 12 horas
- 6 min de leitura

A F5 corrigiu uma vulnerabilidade crítica no NGINX que permite a invasores remotos e não autenticados provocar um estouro de buffer na memória por meio de requisições HTTP especialmente manipuladas. Dependendo da configuração do servidor e das proteções existentes no sistema operacional, a falha pode causar indisponibilidade do serviço e, potencialmente, permitir a execução remota de código.

Identificada como CVE-2026-42533, a vulnerabilidade foi corrigida em 15 de julho nas versões NGINX 1.30.4, do ramo estável, e 1.31.3, do ramo mainline. Para clientes comerciais, a atualização está disponível no NGINX Plus R37 P3, também identificado como 37.0.3.1.
O boletim oficial classifica o problema como um buffer overflow relacionado ao uso da diretiva map com expressões regulares. Todas as versões do NGINX entre 0.9.6 e 1.31.2 são consideradas vulneráveis, enquanto as versões 1.30.4 e 1.31.3 ou posteriores não são afetadas.
A F5 atribuiu à falha pontuação 9,2 no CVSS v4 e 8,1 no CVSS v3.1. Embora o impacto potencial seja elevado, a complexidade do ataque foi classificada como alta porque a exploração depende de uma combinação específica de diretivas e referências a capturas de expressões regulares na configuração do servidor.
A CVE-2026-42533 não afeta automaticamente todos os servidores que executam uma versão vulnerável do NGINX. A exposição depende de como o software foi configurado.
O problema ocorre quando uma variável criada por uma diretiva map baseada em expressão regular é usada em uma expressão de texto depois de uma captura numerada, como $1 ou $2, produzida anteriormente por outra expressão regular.
A diretiva map permite definir o valor de uma variável a partir de outras informações processadas pelo NGINX, como partes da URL, cabeçalhos HTTP ou endereços enviados pelo cliente. Expressões regulares podem ser utilizadas nesse mecanismo para identificar padrões e capturar trechos específicos da requisição.
Em uma configuração vulnerável, o mecanismo interno responsável por montar as strings calcula o tamanho necessário para o resultado em uma primeira etapa e grava os dados no buffer durante uma segunda etapa.
As duas operações deveriam utilizar os mesmos valores de captura. Entretanto, a avaliação da expressão regular presente na diretiva map modifica o estado compartilhado dessas capturas entre as duas etapas.
Como resultado, a primeira passagem pode reservar memória com base em uma captura menor, enquanto a segunda escreve uma captura diferente e controlada pelo invasor. Quando o conteúdo gravado supera o tamanho calculado, ocorre um heap buffer overflow.
Tanto o tamanho quanto o conteúdo excedente podem ser influenciados por dados enviados na requisição HTTP. Isso permite que um atacante remoto acione a falha sem precisar se autenticar no servidor.
O resultado mais direto da exploração é o encerramento inesperado do worker process, processo do NGINX responsável por receber conexões e processar requisições.
Dependendo da configuração do serviço, o processo principal pode reiniciar automaticamente o worker afetado. Mesmo assim, o envio repetido de requisições maliciosas pode provocar reinicializações contínuas, aumento no consumo de recursos e indisponibilidade de sites, APIs e aplicações publicadas pelo servidor.
Em ambientes com alto volume de tráfego, balanceamento de carga ou poucas instâncias disponíveis, a interrupção dos workers pode afetar a continuidade operacional de serviços digitais.
A F5 também alerta que a vulnerabilidade pode permitir execução remota de código quando o ASLR estiver desativado ou puder ser contornado. O Address Space Layout Randomization é uma proteção que distribui componentes do processo em endereços de memória imprevisíveis, dificultando a criação de exploits confiáveis.
Caso um invasor consiga determinar os endereços necessários e controlar adequadamente a corrupção de memória, o impacto pode deixar de ser apenas uma negação de serviço e avançar para a execução de comandos no servidor com os privilégios do processo NGINX.
Stan Shaw, pesquisador que publica sob o nome cyberstan e foi um dos responsáveis pela descoberta independente da vulnerabilidade, apresentou uma análise mais grave do que a descrita no boletim da F5.

Segundo Shaw, a mesma inconsistência entre as capturas utilizadas nas duas etapas do processamento também pode fazer o NGINX retornar conteúdo não inicializado da memória heap quando a nova captura é menor do que a usada para calcular o buffer.
Esse comportamento poderia resultar em vazamento de endereços de memória e fornecer informações suficientes para contornar o ASLR. O pesquisador afirma que conseguiu reproduzir o cenário em uma instalação padrão do Ubuntu 24.04 usando apenas uma requisição GET não autenticada.
Na avaliação de Shaw, a vulnerabilidade não deveria ser interpretada apenas como uma falha de negação de serviço em sistemas que utilizam ASLR. O próprio problema poderia oferecer um caminho para obter os endereços necessários à etapa seguinte de exploração.
Essa conclusão, entretanto, ainda não foi validada de forma independente. O pesquisador decidiu não publicar detalhes completos nem um código de prova de conceito imediatamente, o que impede que terceiros confirmem a confiabilidade do método neste momento.
A afirmação sobre um possível bypass do ASLR deve, portanto, ser tratada como uma conclusão técnica do pesquisador, e não como uma capacidade confirmada oficialmente pela F5.
Para ambientes que não podem aplicar a atualização imediatamente, a F5 recomenda substituir capturas numeradas por capturas nomeadas nas expressões regulares relacionadas à diretiva map.
Em vez de utilizar referências como $1 e $2, o administrador pode atribuir nomes explícitos aos grupos capturados e fazer referência a essas variáveis na configuração.
Segundo o boletim da F5, essa modificação impede o principal cenário conhecido de exploração. A medida, porém, deve ser considerada apenas uma mitigação temporária.
Shaw afirma ter identificado um segundo caminho capaz de provocar o mesmo estouro quando uma diretiva map define um grupo nomeado com o mesmo nome utilizado anteriormente por outra expressão regular, como uma expressão configurada em um bloco location.
O pesquisador disse ter confirmado essa variação com o AddressSanitizer, ferramenta utilizada para detectar erros de memória durante a execução de programas. Esse cenário não aparece no boletim oficial publicado pela F5.
Diante dessa possibilidade, a atualização para NGINX 1.30.4, 1.31.3 ou NGINX Plus R37 P3 permanece como a única correção completa conhecida. Alterações emergenciais na configuração podem reduzir a exposição, mas não devem substituir a instalação das versões corrigidas.
O comunicado da F5 relaciona a CVE-2026-42533 não apenas ao servidor NGINX de código aberto e ao NGINX Plus, mas também a produtos construídos sobre seus componentes.
A lista inclui NGINX Ingress Controller, NGINX Gateway Fabric, NGINX App Protect WAF e NGINX Instance Manager. No momento da divulgação inicial, a F5 ainda não havia informado versões corrigidas específicas para todos esses produtos.
O NGINX Ingress Controller é amplamente utilizado para gerenciar o tráfego de entrada em clusters Kubernetes. O Gateway Fabric implementa recursos relacionados à Kubernetes Gateway API, enquanto o App Protect WAF adiciona funções de firewall de aplicações web.
Essa presença em ambientes de nuvem, contêineres, APIs e arquiteturas de microsserviços amplia o impacto potencial da vulnerabilidade. Uma instância afetada pode estar posicionada diretamente na borda da infraestrutura e receber requisições enviadas por usuários externos.
Administradores devem verificar não apenas a versão do executável NGINX instalado diretamente no sistema, mas também imagens de contêiner, controladores Kubernetes, appliances e soluções comerciais que incorporem versões vulneráveis.
A análise deve procurar diretivas map que utilizem expressões regulares e gerem variáveis posteriormente combinadas com capturas numeradas de uma expressão anterior.
O padrão vulnerável exige que a referência numerada, como $1 ou $2, apareça na expressão antes da variável produzida pela diretiva map. A ordem é relevante porque determina quando o estado das capturas é calculado e sobrescrito.
Arquivos incluídos por meio da diretiva include também precisam ser analisados, já que partes relacionadas da configuração podem estar distribuídas por diferentes diretórios e arquivos.
A simples presença de uma diretiva map ou de uma expressão regular não confirma que o servidor possa ser explorado. É necessário avaliar o encadeamento das variáveis e a ordem em que elas são processadas.
Mesmo quando a configuração não parece corresponder ao padrão descrito, organizações devem atualizar o NGINX. Configurações podem mudar, arquivos antigos podem ser reativados e aplicações instaladas posteriormente podem introduzir uma combinação vulnerável.
A CVE-2026-42533 é a terceira vulnerabilidade de estouro de memória divulgada em aproximadamente dois meses envolvendo o mecanismo de avaliação de expressões do NGINX.
Em maio, o projeto corrigiu a CVE-2026-42945, conhecida como Rift, relacionada a um estado incorreto durante o processamento de scripts. Poucos dias depois, a CVE-2026-9256 revelou outro estouro de buffer provocado por capturas sobrepostas no módulo rewrite. O histórico oficial de lançamentos do NGINX confirma que as duas falhas receberam correções nas versões publicadas em maio.

Embora os gatilhos sejam diferentes, os três problemas compartilham uma característica estrutural: o mecanismo calcula o tamanho do buffer em uma passagem e escreve o resultado em outra, assumindo que o estado utilizado nas duas operações permanecerá consistente.
Na CVE-2026-42533, essa premissa é quebrada porque uma nova expressão regular altera as capturas entre o cálculo e a gravação. A análise dos pesquisadores sugere que componentes semelhantes que utilizam processamento em duas etapas precisam ser revisados para identificar outras inconsistências desse tipo.
Até 20 de julho de 2026, a CVE-2026-42533 não havia sido adicionada ao catálogo Known Exploited Vulnerabilities da CISA, e não havia relatos públicos confirmados de exploração ativa.
Também não havia um exploit público disponível. Shaw informou que pretende divulgar sua prova de conceito 21 dias após o lançamento da correção, o que pode facilitar a validação da falha, mas também reduzir o tempo disponível para que organizações vulneráveis realizem a atualização.
A publicação de detalhes técnicos costuma acelerar a criação de scanners e tentativas de exploração. Servidores expostos à internet, proxies reversos, gateways de API e controladores de entrada Kubernetes devem receber prioridade no processo de correção.
A recomendação é atualizar para NGINX 1.30.4 ou 1.31.3, conforme o ramo utilizado, ou para NGINX Plus R37 P3. Após a instalação, as equipes devem validar a configuração, reiniciar os processos necessários e confirmar que todas as instâncias e imagens de contêiner passaram a utilizar a versão corrigida.