
CVE-2021-22205 - Esecuzione di codice remota non autenticata su GitLab
CVE-2021-22205 è una vulnerabilità critica di Esecuzione di Codice in Remoto (RCE) che colpisce GitLab Community Edition (CE) e Enterprise Edition (EE). La vulnerabilità ha origine da una validazione impropria dei file immagine caricati, che vengono elaborati dall'utilità di terze parti ExifTool. Un attaccante può creare un file dannoso che innesca l'esecuzione arbitraria di comandi sul server GitLab. La vulnerabilità ha ricevuto un punteggio CVSS di 10.0 (Critico) ed è stata osservata essere attivamente sfruttata in ambiente reale.
La vulnerabilità colpisce le versioni di GitLab CE/EE a partire dalla 11.9 fino alle seguenti release:
Le organizzazioni che eseguono versioni vulnerabili di GitLab erano a rischio di compromissione completa del server tramite un semplice attacco di caricamento file.
GitLab utilizza ExifTool per estrarre e igienizzare i metadati dai file immagine caricati. ExifTool stesso conteneva una vulnerabilità relativa all'elaborazione di file DjVu appositamente predisposti (tracciata come CVE-2021-22204). GitLab si fidava erroneamente delle estensioni dei file e passava i file caricati a ExifTool senza una validazione sufficiente.
Un attaccante poteva camuffare un payload DjVu dannoso come file immagine. Quando GitLab elaborava il file, ExifTool interpretava i metadati dannosi ed eseguiva comandi controllati dall'attaccante sul server. L'attacco è stato successivamente riconosciuto come sfruttabile senza autenticazione, aumentandone significativamente la gravità.
Uno sfruttamento riuscito può consentire a un attaccante di:
Poiché molte organizzazioni espongono le istanze GitLab direttamente su Internet, questa vulnerabilità rappresentava un grave rischio per la sicurezza della supply chain e delle infrastrutture.
Dopo la divulgazione pubblica, ricercatori di sicurezza e attori malevoli hanno rapidamente sviluppato exploit funzionanti. Molteplici rapporti hanno documentato attività di scansione e tentativi di sfruttamento diffusi contro istanze GitLab accessibili pubblicamente. La vulnerabilità è stata successivamente aggiunta al catalogo Known Exploited Vulnerabilities (KEV) della CISA.
Gli amministratori dovrebbero aggiornare immediatamente a una delle release corrette:
Raccomandazioni aggiuntive includono:
GitLab ha ufficialmente esortato i clienti self-managed ad aggiornare il prima possibile dopo che è stata osservata attività di sfruttamento.
Questo repository è destinato esclusivamente a scopi educativi, ricerca sulla sicurezza e ambienti di test autorizzati. Qualsiasi codice proof-of-concept (PoC) fornito è progettato per aiutare i professionisti della sicurezza a comprendere la vulnerabilità e verificare gli sforzi di remediation. I test non autorizzati contro sistemi di cui non si possiede o non si ha esplicita autorizzazione a valutare possono violare leggi e regolamenti applicabili.