Sono state scoperte due gravi vulnerabilità in Salt, il popolare framework open source sviluppato da SaltStack e utilizzato soprattutto in ambienti Enterprise, Cloud e provider di servizi come strumento di provisioning e configurazione per gestire i server nei data center e nelle reti aziendali.
Entrambe le vulnerabilità in SaltStack Salt risultano essere attivamente sfruttate in attacchi reali.
Un attaccante remoto in grado di sfruttarle positivamente potrebbe connettersi al server eludendo completamente le procedure di autenticazione e, tramite letture e scritture arbitrarie di file, prendere il completo controllo del nodo centrale dell’infrastruttura IT e quindi di tutto il parco macchine.
Le due vulnerabilità, identificate come CVE-2020-11651 (un bypass di autenticazione utilizzato per recuperare i token utente) e CVE-2020-11652 (che consente l’accesso arbitrario alla directory agli utenti autenticati), sono state scoperte dai ricercatori F-Secure e classificate con indice di gravità massima pari a 10.0 secondo il sistema di valutazione delle vulnerabilità comuni (CVSS).
Indice degli argomenti
Vulnerabilità in SaltStack Salt: i dettagli tecnici
Per comprendere come funziona l’exploiting delle due vulnerabilità è utile descrivere brevemente la struttura del framework di SaltStack.
Salt viene utilizzato per monitorare e aggiornare lo stato dei server. Ogni server esegue un agent chiamato “minion” che si collega a un “master”, un’installazione Salt che raccoglie i rapporti sullo stato dei minion e pubblica messaggi di aggiornamento su cui i minion stessi possono agire.
Tipicamente, tali messaggi sono aggiornamenti alla configurazione dei server, ma possono essere usati anche per eseguire uno stesso comando in parallelo su più sistemi gestiti, anche tutti, in modo asincrono.
Secondo i ricercatori, però, a causa di errate configurazioni di sicurezza il servizio può risultare accessibile attraverso le due porte di comunicazione TCP anche da Internet. Attualmente risultano più di 6.000 i server Salt lasciati esposti online che potrebbero essere sfruttati.
In questi casi, le vulnerabilità in SaltStack Salt potrebbero consentire agli aggressori di connettersi alla porta “request server” e bypassare tutti i controlli di autenticazione e autorizzazione per pubblicare messaggi di controllo arbitrari, leggere e scrivere file in qualsiasi punto del file system del master e rubare la chiave segreta utilizzata per l’autenticazione come root al master stesso.
In questo modo gli aggressori riescono ad eseguire comandi remoti con privilegi elevati sia sul master che su tutti i minion che si collegano ad esso.
Le evidenze riscontrate dai ricercatori F-Secure hanno dimostrato che, sfruttando le vulnerabilità in SaltStack Salt, gli attaccanti sono riusciti ad installare una backdoor sui server compromessi oppure a distribuire miner di criptovaluta.
Violazioni sui server di LineageOS, Ghost e DigiCert
Come dicevamo, le due vulnerabilità in SaltStack Salt risultano essere state attivamente sfruttate in questi giorni dai criminal hacker per violare i server di LineageOS (produttore dell’omonimo sistema operativo open source basato su Android), Ghost (piattaforma di blogging basata su Node.js) e dell’autorità di certificazione DigiCert.
In particolare, LineageOS ha dichiarato di aver rilevato l’intrusione il 2 maggio alle 20:00 circa, ora del Pacifico, specificando comunque che le build Android e le relative signing keys non sono state compromesse in seguito all’attacco.
Il 3 maggio è stata invece la volta di Ghost. In questo caso, lo sfruttamento delle vulnerabilità in SaltStack Salt ha consentito ad un attaccante remoto di compromettere un master Salt e installare un miner di criptovalute. Il tentativo di mining ha ovviamente causato un picco di CPU che ha rapidamente sovraccaricato la maggior parte dei sistemi. Ghost ha comunque confermato che non si sono prove di una compromissione dei dati dei clienti, delle password e delle informazioni finanziarie.
Domenica 3 maggio, seppur con modalità differenti, è stato violato anche un server dell’autorità di certificazione DigiCert che ha causato la compromissione di una chiave CT Log 2 usata per firmare i timestamp dei certificati digitali.
Anche se la chiave non sembra essere stata effettivamente sfruttata dai criminal hacker, l’autorità ha ovviamente segnalato come inattendibili i certificati rilasciati successivamente alla violazione subita.
Come mitigare i rischi di un attacco
Dopo la segnalazione delle due vulnerabilità da parte dei ricercatori F-Secure, SaltStack ha confermato la problematica rilasciando le versioni aggiornate del suo framework 3000.2 e 2019.2.4 in grado di risolverla.
Considerando la criticità delle infrastrutture afflitte dalle vulnerabilità in SaltStack Salt, la loro possibile esposizione su Internet e la conferma delle operazioni di attacco e intrusione ai danni di LineageOS, Ghost E DigiCert, è ovviamente opportuno installare con urgenza le patch disponibili per mettere in sicurezza la piattaforma.
Un fattore d’urgenza segnalato anche da Marco Ramilli, Founder & CEO di Yoroi: “È molto importante intervenire rapidamente su due fronti:
- patching dei Salt masters;
- hunting di possibili compromissioni.
In altre parole, il solo patching non è sufficiente, in quanto un attaccante avrebbe potuto impiantare all’interno del parco macchine una o più backdoor, quindi è necessario da parte delle aziende utilizzatrici di SaltStack effettuare operazioni di analisi proattive per comprendere se il perimetro gestito da Salt sia stato compromesso. Non dimentichiamoci che, trattandosi di vulnerabilità esposte in rete, motori di ricerca IoT come Censys, Shodan e Zokmeye permettono all’attaccante di identificare host vulnerabili in modo molto veloce”.
Infine, è opportuno limitare mediante firewall o altre soluzioni di sicurezza l’esposizione su Internet di eventuali servizi che utilizzano la tecnologia SaltStack.