Ingress-Nginx è un controller Ingress per Kubernetes molto diffuso, utilizzato per gestire l’accesso esterno ai servizi all’interno di un cluster. Una vulnerabilità critica di sicurezza è stata identificata in alcune versioni di Ingress-Nginx, che consente l’esecuzione di codice da remoto (RCE) tramite annotazioni malevole. Questa vulnerabilità è attivamente sfruttata e rappresenta un rischio significativo per gli ambienti Kubernetes.
| Data | 2025-03-27 14:22:23 |
| Informazioni | Trending, Fix Available |
Riassunto tecnico
La vulnerabilità è associata all’annotazione auth-tls-match-cn di Ingress, che consente a un attaccante di iniettare direttive di configurazione Nginx arbitrarie. Questa configurazione errata può essere sfruttata per caricare moduli malevoli o eseguire comandi arbitrari nel contesto del controller Ingress-Nginx.
Inviando una richiesta appositamente creata, un attaccante può modificare la configurazione di Nginx utilizzando un’annotazione come:
nginx.ingress.kubernetes.io/auth-url: "http://example.com#;load_module test;\n"
Questo exploit consente l’esecuzione non autorizzata di codice, portando alla compromissione completa del controller Ingress-Nginx. Inoltre, gli attaccanti possono potenzialmente accedere a tutti i Kubernetes Secrets presenti nel cluster, permettendo un’escalation di privilegi e la completa presa di controllo del cluster.
Raccomandazioni
Per mitigare questa vulnerabilità, gli amministratori dovrebbero agire immediatamente:
-
Aggiornare Ingress-Nginx: Passare a una delle seguenti versioni corrette:
- Versione 1.12.1 o successive
- Versione 1.11.5 o successive
-
Limitare le Annotazioni: Implementare policy per impedire l’applicazione di annotazioni non autorizzate alle risorse Ingress.
-
Limitare i Permessi del Controller: Assicurarsi che il controller Ingress-Nginx non abbia accesso non necessario a risorse sensibili di Kubernetes.
-
Monitorare i Tentativi di Sfruttamento: Analizzare i log alla ricerca di modifiche sospette agli Ingress o cambiamenti non autorizzati alla configurazione di Nginx.
-
Applicare Misure di Sicurezza di Rete: Limitare l’accesso esterno al controller Ingress e applicare regole di firewall severe.