Anche
Kubernetes ha la sua "falla" da tappare, fortunatamente senza troppe difficoltà. Ma fa comunque notizia che la piattaforma dominante per l'
orchestrazione dei container possa in qualche modo essere violata per una vulnerabilità del codice. Ambienti Kubernetes sono in effetti già stati violati più volte, ma sempre perché erano stati
mal configurati in quanto a sicurezza.
La nuova vulnerabilità, denominata
Kubernetes privilege escalation flaw, permette a un attaccante di usare le API per la gestione di Kubernetes stesso per infiltrarsi illecitamente in un server che gestisce la parte di elaborazione di un "pod" di Kubernetes, ossia un gruppo di risorse dedicate ed eseguire un gruppo specifico di container. La vulnerabilità è stata scoperta da
Darren Shepherd, co-fondatore e Chief Architect di
Rancher, una software house che offre un servizio in stile KaaS (Kubernetes-as-a-Service).
In estrema sintesi e semplificando, il Kubernetes privilege escalation flaw rende possibile "aggirare" l'API server di Kubernetes e connettersi a un server di backend
come se si fosse l'API server stesso. In questo modo diventa possibile, se si hanno le giuste competenza tecniche,
assumere i privilegi di amministratore per quel server e quindi rubarne i dati, oppure far cadere i servizi che il server supporta. O ancora attivare container "pirata" per i nostri scopi.
Come si evita il Kubernetes privilege escalation flaw
La vulnerabilità è particolarmente insidiosa perché
non c'è un modo semplice di verificare se è stata sfruttata da un utente malintenzionato. L'API server è un componente fidato e le richieste "malevole" vengono da una connessione che viene considerata altrettanto fidata, quindi le richieste stesse sono registrate insieme a moltissime altre e non sono identificabili in maniera particolare.
La buona notizia è che la community open source che ruota attorno al progetto Kubernetes ha reagito velocemente e il Kubernetes privilege escalation flaw
si risolve aggiornando Kubernetes stesso alle versioni v1.10.11, v1.11.5, v1.12.3, v1.13.0-rc.1. Se per qualche motivo però non è possibile aggiornare la propria implementazione di Kubernetes, o non è possibile farlo velocemente, il rischio di escalation dei privilegi resta. Non esistono infatti soluzioni efficaci alternative all'aggiornamento.