GitLab, rinomato attore nel settore DevOps, ha recentemente adottato misure decisive per rafforzare le proprie difese contro una serie di vulnerabilità critiche che sono state oggetto di attenzione da parte dei ricercatori.
Le vulnerabilità interessano sia la Community sia la Enterprise Edition: due hanno gravità critica e una alta. La più grave potrebbe essere sfruttata per prendere il controllo degli account senza richiedere alcuna interazione da parte dell’utente.
Indice degli argomenti
Vulnerabilità sull’ecosistema GitLab, minano la sicurezza degli utenti
Al centro di questo aggiornamento di sicurezza si trova una grave vulnerabilità: denominata come CVE-2023-7028, è un difetto con un punteggio di gravità massimo pari a 10 e rappresentava una minaccia significativa per gli utenti di GitLab. Questa vulnerabilità, segnalata dal ricercatore di sicurezza asterion04 tramite il programma bug bounty di HackerOne, potrebbe aver portato al furto di account e all’esecuzione di comandi non autorizzati.
Le origini del problema risalgono alla versione 16.1, dove una modifica consentiva agli utenti di reimpostare le password tramite un’e-mail secondaria. Tuttavia, un problema tecnico nel processo di verifica dei messaggi di posta elettronica ha provocato che quelli reimpostati potessero finire in mailbox non verificate, creando così un potenziale pericolo per gli utenti.
“Con la versione 16.1.0 è stata apportata una modifica per permettere agli utenti di reimpostare la propria password tramite un indirizzo e-mail secondario. La vulnerabilità è il risultato di un errore nel processo di verifica delle e-mail”, ha dichiarato GitLab.
“Un avversario non sarà in grado di impossessarsi del tuo account se hai abilitato 2FA (l’autenticazione a due fattori). Potrebbe comunque essere in grado di reimpostare la tua password, ma non sarà in grado di accedere al tuo metodo di autenticazione a due fattori. Se vieni reindirizzato improvvisamente per accedere o visualizzare un’e-mail di reimpostazione attivata, reimposta la password”.
La correzione di sicurezza è stata retroportata alle versioni GitLab 16.1.6, 16.2.9, 16.3.7 e 16.4.5, oltre a 16.5.6, 16.6.4 e 16.7.2.
Il ricercatore di sicurezza Rwincey ha rivelato una prova di concetto (PoC) per CVE-2023-7028 con una semplice richiesta:
user[email][]=valid@email.com&user[email][]=attacker@email.com.
GitLab CVE-2023-7028 POC
user[email][]=valid@email.com&user[email][]=attacker@email.com
– PWNED
— b0yd (@rwincey) January 12, 2024
Altri problemi di sicurezza su GitLab
Ad aggiungersi alle preoccupazioni critiche c’era CVE-2023-5356, valutato con una gravità di 9,6. Questo difetto comportava controlli di autorizzazione errati in GitLab Community Edition (CE) ed Enterprise Edition (EE).
Coprendo un’ampia gamma di versioni, questa vulnerabilità ha permesso agli utenti di utilizzare impropriamente le integrazioni Slack/Mattermost per eseguire comandi che impersonano altri utenti. Un plauso va, come ricordato anche da GitLab, al ricercatore di sicurezza yvvdwf per aver segnalato questo problema tramite HackerOne.
La revisione della sicurezza di GitLab non si è fermata a questi due problemi. Sono state risolte tre ulteriori vulnerabilità:
- CVE-2023-4812 (CVSS 7.6): questa comportava il bypass dell’approvazione di CODEOWNERS nelle richieste di unione.
- CVE-2023-6955 (CVSS 6.6): un problema di controllo degli accessi in GitLab Remote Development, in cui gli spazi di lavoro potevano essere erroneamente associati a diversi spazi dei nomi root.
- CVE-2023-2030 (CVSS 3.5): una lacuna nella convalida della firma del commit, che consente l’alterazione dei metadati nei commit firmati.
Alcune buone pratiche per mitigare i rischi
In risposta alle recenti vulnerabilità di sicurezza rilevate in GitLab, è fondamentale adottare buone pratiche per mitigare il rischio e proteggere le istanze da potenziali minacce. Un passo cruciale è l’aggiornamento tempestivo delle istanze a versioni che incorporano le patch di sicurezza più recenti. Questo garantirà l’implementazione delle correzioni necessarie per colmare le falle e ridurre al minimo l’esposizione a potenziali attacchi.
Inoltre, si consiglia vivamente di abilitare l’autenticazione a due fattori (2FA) per tutti gli account, in particolare per coloro che detengono privilegi elevati. L’2FA fornisce un livello aggiuntivo di sicurezza, richiedendo agli utenti di fornire un secondo elemento di verifica oltre alla password. Questo ostacola significativamente gli sforzi degli attaccanti, anche nel caso in cui fossero in grado di reimpostare le password.
La combinazione di aggiornamenti regolari e l’implementazione dell’2FA costituisce un robusto stratagemma di difesa contro potenziali minacce. In un panorama in costante evoluzione delle minacce informatiche, adottare queste buone pratiche diventa cruciale per garantire la sicurezza delle istanze GitLab e proteggere l’intera infrastruttura DevOps.
La proattività nella gestione della sicurezza è fondamentale per mitigare il rischio e mantenere un ambiente di sviluppo e collaborazione sicuro e protetto.