Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

CodeQL: migliaia di repository a rischi per una vulnerabilità

Scoperta una grave vulnerabilità in CodeQL di GitHub. Ora corretta, poteva compromettere migliaia di repository
CodeQL: migliaia di repository a rischi per una vulnerabilità
Scoperta una grave vulnerabilità in CodeQL di GitHub. Ora corretta, poteva compromettere migliaia di repository
Link copiato negli appunti

Una vulnerabilità critica in CodeQL, lo strumento di GitHub per l'analisi di sicurezza del codice, avrebbe messo a rischio migliaia di repository fino alla sua correzione, avvenuta lo scorso gennaio. A scoprirla è stato John Stawinski, ricercatore presso l'azienda di cybersecurity Praetorian, che ha evidenziato come l'exploit potesse portare all'esecuzione di codice malevolo, furto di sorgenti e persino alla compromissione di reti interne.

La vulnerabilità critica di CodeQL

CodeQL utilizza GitHub Actions per eseguire delle procedure di scansione automatica ogni volta che viene aggiornato un repository. Durante tale esecuzione vengono generati degli "artefatti temporanei" (workflow artifact) che in alcune versioni contenevano variabili d'ambiente recanti dati sensibili. Inclusi, ad esempio, i token di accesso GitHub.

Facendo riferimento ad uno scenario specifico, Stawinski ha dimostrato che i workflow artifact potevano essere scaricati per un breve lasso di tempo ancora prima che i token venissero invalidati.

La vulnerabilità era aggravata dall'assenza del workflow pinning. Una tecnica che registra le versioni delle azioni utilizzate. Senza di essa, un attaccante poteva ridefinire un tag della versione e forzare l'esecuzione di codice malevolo in tutti i repository che utilizzavano la configurazione predefinita di CodeQL. Questo avrebbe incluso anche dei repository privati. Con il rischio di esfiltrare codice e informazioni aziendali riservate.

Le raccomandazioni per gli sviluppatori

In un suo intervento a riguardo Stawinski raccomanda di ispezionare sempre gli artefatti generati dai workflow. Si deve anche evitare di includere variabili d'ambiente associate a dati sensibili così come e bene limitare i permessi dei token. Ha proposto inoltre la separazione tra ambienti di CI e CD anche se si tratta di una soluzione spesso complessa da implementare.

GitHub ha risposto rapidamente dopo la scoperta della vulnerabilità. Lo ha fatto disabilitando il caricamento degli artifact di debug entro tre ore dalla segnalazione. L'accaduto ricorda però quanto GitHub Actions possa rappresentare una superficie di attacco spesso sottovalutata ma ad alto impatto.

Ti consigliamo anche