Categorie
Sicurezza Informatica

GitHub, grave vulnerabilità espone migliaia di repository a repojacking

Tempo di lettura: 2 minuti. La recente scoperta di una grave vulnerabilità in GitHub evidenzia i rischi persistenti associati al meccanismo di “ritiro dello spazio dei nomi del repository popolare”, sottolineando la necessità di vigilanza continua nella sicurezza delle piattaforme di codice.

Tempo di lettura: 2 minuti.

Una nuova vulnerabilità emersa in GitHub avrebbe potuto mettere a rischio migliaia di repository, esponendoli ad attacchi di repojacking, secondo quanto rivelato da recenti scoperte. La falla “potrebbe permettere a un attaccante di sfruttare una condizione di race durante la creazione del repository e le operazioni di cambio nome dell’utente su GitHub”, ha dichiarato il ricercatore di sicurezza di Checkmarx, Elad Rapoport, in un rapporto tecnico condiviso con The Hacker News.

Dettagli della vulnerabilità

L’exploit di questa vulnerabilità avrebbe potuto influenzare negativamente la comunità open-source, permettendo il dirottamento di oltre 4.000 pacchetti di codice in linguaggi come Go, PHP e Swift, oltre alle azioni di GitHub. Dopo una segnalazione responsabile il 1° marzo 2023, la piattaforma di hosting del codice di proprietà di Microsoft ha risolto il problema a partire dal 1° settembre 2023.

Cos’è il repojacking

Il repojacking, o dirottamento di repository, è una tecnica in cui un attore minaccioso è in grado di bypassare un meccanismo di sicurezza chiamato “popular repository namespace retirement” e ottenere il controllo di un repository. Questa misura di protezione impedisce ad altri utenti di creare un repository con lo stesso nome di un repository con più di 100 cloni al momento della rinomina del suo account utente. In altre parole, la combinazione del nome utente e del nome del repository viene considerata “ritirata”. Se questa salvaguardia venisse facilmente aggirata, potrebbe permettere agli attori minacciosi di creare nuovi account con lo stesso nome utente e caricare repository malevoli, potenzialmente dando il via a attacchi alla catena di approvvigionamento del software.

Il nuovo metodo delineato da Checkmarx sfrutta una potenziale condizione di race tra la creazione di un repository e la rinomina di un nome utente per realizzare il repojacking. In particolare, include i seguenti passaggi:

  1. La vittima possiede lo spazio dei nomi “victim_user/repo”
  2. La vittima rinomina “victim_user” in “renamed_user”
  3. Il repository “victim_user/repo” è ora ritirato
  4. Un attore minaccioso con il nome utente “attacker_user” crea simultaneamente un repository chiamato “repo” e rinomina il nome utente “attacker_user” in “victim_user”

L’ultimo passo viene realizzato utilizzando una richiesta API per la creazione del repository e un’intercettazione della richiesta di rinomina per il cambio del nome utente. Questa scoperta arriva quasi nove mesi dopo che GitHub ha corretto una falla simile che poteva aprire la porta a attacchi di repojacking.

Pronto a supportare l'informazione libera?

Iscriviti alla nostra newsletter // Seguici gratuitamente su Google News
Exit mobile version