Sono state riscontrate tre vulnerabilità nel controller ingress ingress-nginx del progetto Kubernetes, che consentono di accedere alle impostazioni dell'oggetto Ingress nella configurazione predefinita, nelle quali, tra l'altro, sono memorizzate anche le credenziali per accedere ai server Kubernetes, consentendo così di ottenere accesso privilegiato al cluster. I problemi si manifestano solo nel controller ingress-nginx del progetto Kubernetes e non riguardano il controller kubernetes-ingress, sviluppato dagli sviluppatori di NGINX.
Il controller ingress funge da gateway ed è utilizzato in Kubernetes per organizzare l'accesso dalla rete esterna ai servizi all'interno del cluster. Il controller ingress-nginx è il più popolare e applica server NGINX per gestire il forwarding delle richieste al cluster, la routing delle richieste esterne e il bilanciamento del carico. Il progetto Kubernetes fornisce controller ingress di base per AWS, GCE e nginx, quest'ultimo dei quali non è correlato al controller kubernetes-ingress, la cui manutenzione è curata dall'azienda F5/NGINX.

Le vulnerabilità CVE-2023-5043 e CVE-2023-5044 consentono di eseguire il proprio codice con server i diritti del processo del controller ingress, utilizzando per la sua sostituzione i parametri «nginx.ingress.kubernetes.io/configuration-snippet» e «nginx.ingress.kubernetes.io/permanent-redirect». Tra l'altro, i diritti di accesso ottenuti consentono di estrarre il token utilizzato per l'autenticazione a livello di gestione del cluster. La vulnerabilità CVE-2022-4886 consente di eludere il controllo dei percorsi dei file, utilizzando la direttiva log_format.
Le prime due vulnerabilità si manifestano solo nelle versioni di ingress-nginx precedenti alla versione 1.9.0, mentre l'ultima è presente fino alla versione 1.8.0. Per effettuare un attacco, un malintenzionato deve avere accesso alla configurazione dell'oggetto ingress, ad esempio, in cluster Kubernetes multiutente, in cui agli utenti è consentito creare oggetti nel proprio spazio dei nomi.
Fonte: opennet.ru
