Pesquisadores de segurança descobriram uma grave vulnerabilidade no controlador ingress-nginx do Kubernetes, identificada como CVE-2024-7646. A falha permite que atores mal-intencionados contornem a validação de anotações e potencialmente ganhem acesso não autorizado a recursos sensíveis do cluster. Com uma pontuação CVSS de 8,8, a vulnerabilidade destaca a importância de ações imediatas por parte de profissionais de segurança e equipes DevOps.
O ingress-nginx é um controlador popular no Kubernetes, usado para gerenciar o acesso externo a serviços dentro de um cluster. A falha ocorre na forma como o ingress-nginx valida as anotações nos objetos de Ingress, permitindo que um invasor injete conteúdo malicioso nessas anotações, resultando em injeção de comandos arbitrários. A vulnerabilidade afeta todas as versões do ingress-nginx anteriores à v1.11.2.
O risco é especialmente alto em ambientes Kubernetes com múltiplos inquilinos, onde usuários sem privilégios administrativos podem criar objetos de Ingress. Além disso, clusters configurados com permissões amplas de acesso a segredos do cluster e sem políticas rigorosas de controle de acesso baseado em função (RBAC) são particularmente vulneráveis.
Em um exemplo de exploração, um invasor com permissão para criar objetos de Ingress poderia injetar conteúdo malicioso em uma anotação usando um caractere de retorno de carro (\r) para contornar a validação e executar ataques de Cross-Site Scripting (XSS), manipulação de cabeçalhos HTTP e potencialmente comprometer dados sensíveis.
Para mitigar a vulnerabilidade, a recomendação é atualizar o controlador ingress-nginx para a versão v1.11.2 ou posterior, revisar objetos de Ingress existentes em busca de anotações suspeitas e implementar políticas RBAC mais rígidas para limitar quem pode criar ou modificar esses objetos.