Google rivela una falla di sicurezza su GitHub

Project Zero ha rilasciato i dettagli di una grave violazione della sicurezza su GitHub e lo riferiscono l'errore influisce sui comandi del flusso di lavoro dell'azione da GitHub ed è descritto come gravità elevata. (Questo bug è stato scoperto a luglio, ma durante il periodo di divulgazione standard di 90 giorni, i dettagli sono stati rilasciati solo ora.)

Questo difetto è diventato una delle poche vulnerabilità che non è stata risolta correttamente prima della scadenza del periodo di tempo standard di 90 giorni concesso da Google Project Zero.

Secondo Felix Wilhelm (chi l'ha scoperto), membro del team di Project Zero, la falla interessa la funzionalità delle azioni di GitHub, uno strumento per automatizzare il lavoro degli sviluppatori. Questo perché i comandi del flusso di lavoro delle azioni sono "vulnerabili agli attacchi di iniezione":

“Actions Github supporta una funzionalità chiamata comandi del flusso di lavoro come canale di comunicazione tra il runner di azioni e l'azione eseguita. I comandi del flusso di lavoro sono implementati in / src / Runner.Worker / ActionCommandManager.cs e funzionano analizzando STDOUT di tutte le azioni eseguite cercando uno dei due marker di comando.

Menzionalo il grosso problema di questa funzione è che è molto vulnerabile agli attacchi di iniezione. Poiché il processo di esecuzione analizza ogni riga stampata in STDOUT per i comandi del flusso di lavoro, ogni azione GitHub che contiene contenuto non attendibile come parte della sua esecuzione è vulnerabile.

Nella maggior parte dei casi, la possibilità di impostare variabili di ambiente arbitrarie comporta l'esecuzione di codice in modalità remota non appena viene eseguito un altro flusso di lavoro. Ho passato un po 'di tempo a esaminare i più diffusi repository GitHub e quasi tutti i progetti che utilizzano azioni GitHub leggermente complesse sono vulnerabili a questo tipo di bug.

in seguito, ha fornito alcuni esempi di come il bug potrebbe essere sfruttato e ha anche suggerito una soluzione:

“Non sono davvero sicuro di quale sia il modo migliore per risolverlo. Penso che il modo in cui vengono implementati i comandi del flusso di lavoro sia fondamentalmente insicuro. Depreading la sintassi del comando v1 e rafforzamento diet-env con un elenco di permessi probabilmente funzionerebbe contro i vettori RCE diretti.

“Tuttavia, anche la capacità di sovrascrivere le variabili di ambiente" normali "utilizzate nei passaggi successivi è probabilmente sufficiente per sfruttare le azioni più complesse. Né ho analizzato l'impatto sulla sicurezza degli altri controlli nell'area di lavoro.

Inoltre, menzionalo una buona soluzione a lungo termine Sarebbe spostare i comandi del flusso di lavoro su un canale separato (ad esempio un nuovo descrittore di file) per evitare l'analisi da parte di STDOUT, ma ciò interromperà gran parte del codice di azione esistente.

Per quanto riguarda GitHub, i suoi sviluppatori hanno pubblicato un avviso il 1 ° ottobre e hanno deprecato i comandi vulnerabili, ma hanno sostenuto che ciò che Wilhelm ha trovato era in realtà una "vulnerabilità di sicurezza moderata". GitHub ha assegnato l'identificatore di bug CVE-2020-15228:

“È stata identificata una vulnerabilità di sicurezza moderata nel runtime di GitHub Actions che può consentire l'iniezione di percorsi e variabili di ambiente in flussi di lavoro che registrano dati non attendibili su STDOUT. Ciò può portare all'introduzione o alla modifica di variabili di ambiente senza l'intenzione dell'autore del flusso di lavoro.

“Per aiutarci a risolvere questo problema e consentirvi di impostare dinamicamente le variabili di ambiente, abbiamo introdotto un nuovo set di file per gestire gli aggiornamenti di ambiente e percorso nei flussi di lavoro.

"Se utilizzi broker self-hosted, assicurati che siano aggiornati alla versione 2.273.1 o successiva.

Secondo Wilhelm, il 12 ottobre, Project Zero ha contattato GitHub e ha offerto loro in modo proattivo una finestra di 14 giorni se GitHub voleva più tempo per disabilitare i comandi vulnerabili. Ovviamente l'offerta è stata accettata e GitHub sperava di disabilitare i comandi vulnerabili dopo il 19 ottobre. Project Zero ha quindi fissato la nuova data di divulgazione per il 2 novembre.

fonte: https://bugs.chromium.org


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.