In una recente ricerca condotta dal team di Orca Security è stata scoperta una vulnerabilità critica chiamata LeakyCLI. Questa vulnerabilità colpisce gli strumenti da riga di comando (CLI) utilizzati per interagire con piattaforme cloud popolari come Amazon Web Services (AWS), Google Cloud Platform (GCP) e Microsoft Azure .
Vulnerabilità LeakyCLI e strumenti CLI
Il problema risiede nel modo in cui determinati comandi CLI possono involontariamente esporre variabili d’ambiente contenenti informazioni sensibili come chiavi di accesso, password e altre credenziali. Queste variabili d’ambiente vengono tipicamente utilizzate per autenticare e autorizzare l’accesso alle risorse cloud. Il problema sorge quando questi comandi vengono utilizzati all’interno di pipeline CI/CD (Continuous Integration and Continuous Deployment) deputati ad automatizzare il processo di sviluppo del software e che spesso includono passaggi che eseguono comandi CLI per interagire con i servizi cloud.
Poichè per impostazione predefinita, l’output di questi comandi, comprese eventuali variabili d’ambiente esposte, viene registrato nei log di compilazione CI/CD ecco in cosa consiste la vulnerabilità:
- Determinati comandi CLI progettati per interagire con i servizi cloud possono rivelare involontariamente variabili d’ambiente impostate nel sistema.
- Quando questi comandi vengono integrati nelle pipeline CI/CD, il loro output, comprese le variabili d’ambiente sensibili, viene catturato nei log di compilazione.
- A seconda della configurazione della piattaforma CI/CD, i log di compilazione potrebbero essere involontariamente esposti o accessibili a individui non autorizzati.
Esempi di comandi suscettibili a LeakyCLI
Ecco alcuni esempi di comandi CLI da AWS e Google Cloud che sono stati identificati come potenziali fonti di perdita di informazioni sensibili:
AWS CLI:
aws lambda get-function-configuration
aws lambda get-function
aws lambda update-function-configuration
aws lambda update-function-code
aws lambda publish-version
Google Cloud CLI:
gcloud functions deploy <func> --set-env-vars
gcloud functions deploy <func> --update-env-vars
gcloud functions deploy <func> --remove-env-vars
Come mitigare il rischio LeakyCLI
Mentre Microsoft ha affrontato la vulnerabilità LeakyCLI in Azure CLI con gli aggiornamenti di sicurezza rilasciati a novembre 2023 (CVE-2023-36052, punteggio CVSS: 8.6), AWS e Google Cloud considerano questo comportamento come previsto e atteso. Pertanto solo seguendo protocolli di sicurezza adeguati, le organizzazioni possono proteggersi da potenziali sfruttamenti di vulnerabilità come LeakyCLI, garantendo l’integrità e la sicurezza delle loro infrastrutture cloud.
Per mitigare il rischio si consiglia alle organizzazioni di evitare di memorizzare variabili sensibili nelle variabili d’ambiente recuperandoli invece da un servizio di archiviazione dedicato come AWS Secrets Manager e di consultare la documentazione a supporto messa a disposizione dai rispettivi vendor per i propri clienti.
Per ulteriori dettagli e approfondimenti si rimanda al report di Orca Security.