LeakyCLI, una vulnerabilità critica che espone credenziali AWS e Google Cloud

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à:

  1. Determinati comandi CLI progettati per interagire con i servizi cloud possono rivelare involontariamente variabili d’ambiente impostate nel sistema.
  2. Quando questi comandi vengono integrati nelle pipeline CI/CD, il loro output, comprese le variabili d’ambiente sensibili, viene catturato nei log di compilazione.
  3. 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.

      Su Salvatore Lombardo 335 Articoli
      Ingegnere elettronico e socio Clusit, da qualche tempo, sposando il principio dell’educazione consapevole, scrive online per diversi magazine sull’Information Security. È inoltre autore del libro “La Gestione della Cyber Security nella Pubblica Amministrazione”. “Education improves Awareness” è il suo motto.