NGINX, de propriedade da F5, é um servidor proxy reverso altamente utilizado no mundo. NGINX também é uma infraestrutura crítica da Internet global. Agora, uma empresa de pesquisa de segurança revelou uma vulnerabilidade de segurança de alto risco no software. A vulnerabilidade tem o número CVE-2026-42945. Há um problema de estouro de buffer de heap no mecanismo de script NGINX que existe há 18 anos.

Um invasor só precisa enviar uma solicitação HTTP cuidadosamente construída a um servidor NGINX exposto para assumir remotamente o controle do servidor. O NGINX é responsável por quase 30% dos principais servidores de sites globais e campos de proxy reverso, portanto, esta vulnerabilidade pode afetar um grande número de serviços de Internet.
Afeta a ontologia NGINX e vários derivados:
Esta vulnerabilidade foi originalmente introduzida na versão 0.6.27 do NGINX lançada em 2008. Depois disso, a vulnerabilidade não foi descoberta por muito tempo e está à espreita até agora. Esta vulnerabilidade afeta as versões 0.6.27~1.30.0 do NGINX e também afeta vários derivados do NGINX fornecidos pela F5 para clientes comerciais. Os produtos derivados afetados incluem, entre outros, NGINX WAF, F5 WAF, NGINX Gateway Fabric, NGINX Ingress Controller, etc.
As condições desencadeadoras da vulnerabilidade estão muito ocultas. Quando as duas instruções a seguir aparecerem no arquivo de configuração NGINX ao mesmo tempo, a vulnerabilidade será ativada:
rewrite ^/api/(.*)$ /internal?migrated=true; # 重写规则末尾带 “?” set $original_endpoint $1; # 使用正则捕获组
A equipe de pesquisa que descobriu a vulnerabilidade apontou que a causa raiz da vulnerabilidade está no mecanismo de script (ngx_http_script.c) do ngx_http_rewrite_module. Quando a instrução de reescrita contém um ponto de interrogação, o sinalizador is_args persistente é definido, mas na fase subsequente de cálculo do comprimento da instrução definida, o mecanismo usa um novo submecanismo limpo, o que faz com que a lógica de escape da URL seja ignorada durante o cálculo do comprimento.
No estágio de cópia real, o mecanismo principal é usado para acionar a função ngx_escape_uri para escapar de caracteres como + e &. O buffer é alocado de acordo com o comprimento sem escape, mas o conteúdo expandido é gravado, causando, em última análise, um estouro de buffer de heap controlável.
F5 lançou o NGINX versão 1.31.0/1.30.1 para corrigir:
Depois de receber a notificação de vulnerabilidade, F5 confirmou rapidamente a vulnerabilidade. Depois que a F5 preparou a correção, os pesquisadores divulgaram publicamente a vulnerabilidade. Portanto, os usuários que usam atualmente o NGINX e seus derivados precisam atualizar para a versão mais recente que não seja afetada. A versão de código aberto do NGINX precisa ser atualizada para a versão 1.30.1 ou 1.31.0. Outras versões mais antigas, como as versões 0.6.27~1.30.0, são afetadas pela vulnerabilidade.
Para obter informações de versão sobre outros derivados, consulte o Boletim de Segurança F5: https://my.f5.com/manage/s/article/K000160932