IngressNightmare: Falhas Críticas Colocam Ambientes Kubernetes em Risco

Mais de 40% de todos os clusters de orquestração de contêiner expostos na Internet estão vulneráveis devido a falhas críticas no Ingress NGINX Controller. Os mantenedores do Kubernetes lançaram patches para corrigir quatro vulnerabilidades graves, que afetam aproximadamente 6.500 clusters, incluindo infraestruturas de empresas da Fortune 500.

O Risco das Falhas Descobertas

Pesquisadores da Wiz identificaram que essas vulnerabilidades permitem que atacantes remotos e não autenticados executem comandos arbitrários em ambientes afetados, possibilitando o comprometimento total dos clusters Kubernetes.

As Quatro Vulnerabilidades Críticas

Três dessas falhas (CVE-2025-24514, CVE-2025-1097 e CVE-2025-1098) possibilitam a injeção de diretivas de configuração arbitrárias no NGINX, incluindo regras de roteamento personalizadas e configurações de segurança. No entanto, para executar código remotamente, o invasor precisa combinar uma dessas vulnerabilidades com a CVE-2025-1974, formando um vetor de ataque apelidado de IngressNightmare, que recebeu uma pontuação CVSS de 9.8.

O Ingress-NGINX é um controlador utilizado para gerenciar e direcionar o tráfego de fontes externas para serviços dentro de um cluster Kubernetes. O problema afeta especificamente o admission controller, componente responsável por validar ou modificar objetos Ingress antes de serem processados pelo servidor da API do Kubernetes. O erro está na interpretação desses objetos pelo controlador, permitindo que invasores contornem a autenticação da API do Kubernetes e executem diretivas NGINX sem permissão.

Durante a fase de validação da configuração, a injeção de diretivas maliciosas causa a execução de código no pod do Ingress NGINX Controller, abrindo caminho para a obtenção de segredos e acesso total ao cluster.

Medidas de Correção e Mitigação

Para mitigar essas vulnerabilidades, as organizações devem seguir as seguintes etapas:

1. Atualização Imediata

Os administradores devem atualizar o Ingress NGINX Controller para as versões corrigidas:

  • v1.12.1
  • v1.11.5
  • v1.10.7

A aplicação desses patches é essencial para eliminar as brechas exploráveis.

2. Restringir Acesso ao Admission Controller

Para organizações que não podem aplicar o patch imediatamente, é recomendável restringir o acesso ao admission controller, garantindo que apenas o servidor da API do Kubernetes possa se comunicar com ele. Isso pode ser feito com NetworkPolicies adequadas:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: restrict-admission-controller
  namespace: ingress-nginx
spec:
  podSelector:
    matchLabels:
      app.kubernetes.io/name: ingress-nginx
  policyTypes:
  - Ingress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app.kubernetes.io/component: kube-apiserver

3. Desativar o Admission Controller (Se Possível)

Caso o admission controller não seja essencial, pode-se desativá-lo temporariamente:

kubectl delete ValidatingWebhookConfiguration ingress-nginx-admission

Importante: Após aplicar a correção oficial, reative o controlador para restaurar sua funcionalidade.

4. Evitar Exposição Desnecessária

Expor o admission controller diretamente na Internet é um erro comum. Admins devem garantir que não haja acessos não autorizados utilizando regras de firewall ou SecurityGroups para bloquear conexões externas.

iptables -A INPUT -p tcp --dport 8443 -s 10.0.0.0/16 -j ACCEPT
iptables -A INPUT -p tcp --dport 8443 -j DROP

As vulnerabilidades IngressNightmare demonstram como falhas em componentes críticos podem comprometer ambientes Kubernetes inteiros. A correção imediata, aliada à aplicação de melhores práticas de segurança, é essencial para proteger infraestrutura sensível e evitar exploração por atacantes.

Fonte: https://www.wiz.io/blog/ingress-nginx-kubernetes-vulnerabilities