Novas Falhas de Segurança Descobertas no Controlador de Ingresso NGINX para Kubernetes
30 de Outubro de 2023

Foram divulgadas três falhas de segurança de alta gravidade não corrigidas no controlador de Ingress NGINX para Kubernetes que podem ser usadas por um ator malicioso para roubar credenciais secretas do cluster.

As vulnerabilidades são as seguintes -

CVE-2022-4886 (pontuação CVSS: 8.8) - A higienização do caminho Ingress-nginx pode ser contornada para obter as credenciais do controlador ingress-nginx

CVE-2023-5043 (pontuação CVSS: 7.6) - Injeção de anotação Ingress-nginx causa execução de comando arbitrário

CVE-2023-5044 (pontuação CVSS: 7.6) - Injeção de código via nginx.ingress.kubernetes.io/permanent-redirect annotation

"Essas vulnerabilidades permitem a um invasor que consegue controlar a configuração do objeto Ingress roubar credenciais secretas do cluster", disse Ben Hirschberg, CTO e co-fundador da plataforma de segurança Kubernetes ARMO, sobre o CVE-2023-5043 e o CVE-2023-5044 .
A exploração bem-sucedida das falhas poderia permitir a um adversário injetar código arbitrário no processo do controlador de entrada e obter acesso não autorizado a dados sensíveis.

CVE-2022-4886 , resultante da falta de validação no campo "spec.rules[].http.paths[].path", permite a um invasor com acesso ao objeto Ingress sugar credenciais da API Kubernetes do controlador de entrada.

"No objeto Ingress, o operador pode definir qual caminho HTTP de entrada é direcionado para qual caminho interno", observou Hirschberg.

"O aplicativo vulnerável não verifica corretamente a validade do caminho interno e ele pode apontar para o arquivo interno que contém o token de conta de serviço que é a credencial do cliente para autenticação contra o servidor de API."

Na ausência de correções, os mantenedores do software lançaram mitigações que envolvem a ativação da opção "strict-validate-path-type" e a definição da flag --enable-annotation-validation para evitar a criação de objetos Ingress com caracteres inválidos e impor restrições adicionais.
ARMO disse que atualizar o NGINX para a versão 1.19, juntamente com a adição do comando "--enable-annotation-validation" na configuração da linha de comando, resolve CVE-2023-5043 e CVE-2023-5044 .

"Embora apontem em direções diferentes, todas essas vulnerabilidades apontam para o mesmo problema subjacente", disse Hirschberg.

"O fato de os controladores de entrada terem acesso a segredos TLS e API Kubernetes por design faz deles cargas de trabalho com alto escopo de privilégios.

Além disso, como são frequentemente componentes voltados para a internet pública, eles são muito vulneráveis ​​ao tráfego externo que entra no cluster por meio deles."

Publicidade

Curso gratuito de Python

O curso Python Básico da Solyd oferece uma rápida aproximação à linguagem Python com diversos projetos práticos. Indo do zero absoluto até a construção de suas primeiras ferramentas. Tenha também suporte e certificado gratuitos. Saiba mais...