Vulnerabilidade crítica no controlador NGINX
25 de Março de 2025

Um conjunto de cinco falhas de segurança críticas foi divulgado no Ingress NGINX Controller para Kubernetes, que poderia resultar em execução de código remoto não autenticado, colocando mais de 6.500 clusters em risco imediato ao expor o componente à internet pública.

As vulnerabilidades ( CVE-2025-24513 , CVE-2025-24514 , CVE-2025-1097 , CVE-2025-1098 e CVE-2025-1974 ), com um score CVSS de 9.8, foram coletivamente apelidadas de IngressNightmare pela firma de segurança em nuvem Wiz.

Vale ressaltar que as falhas não impactam o NGINX Ingress Controller, que é outra implementação de ingress controller para NGINX e NGINX Plus.

"A exploração dessas vulnerabilidades leva ao acesso não autorizado a todos os segredos armazenados em todos os namespaces no cluster Kubernetes por atacantes, o que pode resultar na tomada de controle do cluster", disse a empresa em um relatório compartilhado.

No cerne, o IngressNightmare afeta o componente do admission controller do Ingress NGINX Controller para Kubernetes.

Cerca de 43% dos ambientes em nuvem estão vulneráveis a essas falhas.

O Ingress NGINX Controller utiliza o NGINX como um reverse proxy e load balancer, permitindo expor rotas HTTP e HTTPS de fora de um cluster para serviços dentro dele.

A vulnerabilidade tira vantagem do fato de que os admission controllers, implementados dentro de um pod Kubernetes, estão acessíveis pela rede sem autenticação.

Especificamente, isso envolve a injeção de uma configuração NGINX arbitrária remotamente, enviando um objeto ingress malicioso (também conhecido como solicitações de AdmissionReview) diretamente para o admission controller, resultando na execução de código no pod do Ingress NGINX Controller.

"Os privilégios elevados do admission controller e a acessibilidade irrestrita à rede criam um caminho crítico de escalada", explicou a Wiz.

Explorar essa falha permite a um atacante executar código arbitrário e acessar todos os segredos do cluster entre namespaces, que poderia levar à total tomada de controle do cluster.

As falhas estão listadas abaixo:

- CVE-2025-24513 (pontuação CVSS: 4.8) – Uma vulnerabilidade de validação de entrada inadequada que poderia resultar em travessia de diretório dentro do contêiner, levando a denial-of-service (DoS) ou divulgação limitada de objetos secretos do cluster quando combinada com outras vulnerabilidades.

- CVE-2025-24514 (pontuação CVSS: 8.8) – A anotação Ingress auth-url pode ser usada para injetar configuração no NGINX, resultando em execução de código arbitrário no contexto do controlador ingress-nginx e divulgação de segredos acessíveis ao controlador.

- CVE-2025-1097 (pontuação CVSS: 8.8) – A anotação Ingress auth-tls-match-cn pode ser usada para injetar configuração no NGINX, resultando em execução de código arbitrário no contexto do controlador ingress-nginx e divulgação de segredos acessíveis ao controlador.

- CVE-2025-1098 (pontuação CVSS: 8.8) – As anotações Ingress mirror-target e mirror-host podem ser usadas para injetar configuração arbitrária no NGINX, resultando em execução de código arbitrário no contexto do controlador ingress-nginx e divulgação de segredos acessíveis ao controlador.

- CVE-2025-1974 (pontuação CVSS: 9.8) – Um atacante não autenticado com acesso à rede do pod pode alcançar execução de código arbitrário no contexto do controlador ingress-nginx sob certas condições.

Em um cenário de ataque experimental, um ator de ameaça poderia fazer o upload de um payload malicioso na forma de uma biblioteca compartilhada para o pod usando o recurso client-body buffer do NGINX, seguido pelo envio de uma solicitação AdmissionReview para o admission controller.

A solicitação, por sua vez, contém uma das injeções de diretiva de configuração mencionadas anteriormente que faz com que a biblioteca compartilhada seja carregada, efetivamente levando à execução de código remoto.

Hillai Ben-Sasson, pesquisador de segurança em nuvem na Wiz, disse que a cadeia de ataque essencialmente envolve injetar uma configuração maliciosa e utilizá-la para ler arquivos sensíveis e executar código arbitrário.

Isso poderia subsequentemente permitir a um atacante abusar de uma Conta de Serviço forte para ler os segredos do Kubernetes e, em última instância, facilitar a tomada de controle do cluster.

Em um comunicado autônomo, o Comitê de Resposta à Segurança do Kubernetes disse que todas as vulnerabilidades, com exceção do CVE-2025-1974 , dizem respeito a melhorias em como o Ingress NGINX lida com certos parâmetros de configuração.

O CVE-2025-1974 , por outro lado, pode ser combinado com as outras falhas para facilitar a tomada de controle do cluster sem exigir credenciais ou acesso administrativo.

Após a divulgação responsável, as vulnerabilidades foram corrigidas nas versões 1.12.1, 1.11.5 e 1.10.7 do Ingress NGINX Controller.

Recomenda-se que os usuários atualizem para a versão mais recente o mais rápido possível e garantam que o endpoint do admission webhook não esteja exposto externamente.

Como medidas de mitigação, é aconselhado limitar apenas o Servidor API do Kubernetes para acessar o admission controller e desabilitar temporariamente o componente admission controller se não for necessário.

Publicidade

Traçamos um caminho para você ir do zero ao avançado em hacking

Conheça a Solyd One, e tenha acesso a todos os cursos de segurança ofensiva da Solyd, todas as certificações práticas, incluindo a SYCP, 2 CTFs anuais com prêmios de até 30 mil reais, dezenas de laboratórios realísticos, suporte, comunidade e muito mais. Saiba mais...