Nel servizio di integrazione continua Travis CI, progettato per il test e la costruzione di progetti sviluppati su GitHub e Bitbucket, è stata rilevata una vulnerabilità di sicurezza (CVE-2021-41077) che consente di rivelare il contenuto delle variabili ambientali riservate nei repository pubblici che utilizzano Travis CI. Tra l'altro, la vulnerabilità permette di scoprire le chiavi utilizzate in Travis CI per la generazione di firme digitali, chiavi di accesso e token per l'interazione con l'API.
Il problema è stato presente in Travis CI dal 3 al 10 settembre. È interessante notare che le informazioni sulla vulnerabilità sono state comunicate agli sviluppatori il 7 settembre, ma in risposta è stata ricevuta solo una nota di cortesia con la raccomandazione di utilizzare la rotazione delle chiavi. Non ricevendo un feedback adeguato, i ricercatori hanno contattato GitHub e hanno proposto di mettere Travis nella lista nera. Il problema è stato risolto solo il 10 settembre dopo un gran numero di lamentele ricevute da vari progetti. Dopo l'incidente, sul sito dell'azienda Travis CI è stato pubblicato un rapporto piuttosto strano sul problema, in cui anziché informare sulla correzione della vulnerabilità, era contenuta solo la raccomandazione, fuori contesto, di cambiare ciclicamente le chiavi di accesso.
Dopo l'indignazione per la mancata divulgazione delle informazioni, espressa da diversi grandi progetti, è stato pubblicato un rapporto più dettagliato nel forum di supporto di Travis CI, che avvertiva che il proprietario del fork di qualsiasi repository pubblico, attraverso l'invio di una pull request, poteva avviare il processo di build e ottenere accesso non autorizzato alle variabili d'ambiente riservate del repository di origine, esposte durante la build in base ai campi del file «.travis.yml» o definite tramite l'interfaccia web di Travis CI. Tali variabili vengono memorizzate in forma crittografata e vengono decrittografate solo durante la build. Il problema riguardava esclusivamente i repository pubblici a cui sono stati creati fork (i repository privati non sono vulnerabili a questo attacco).
Fonte: opennet.ru
