Rilevate due vulnerabilità in Git che causano perdita di dati e sovrascrittura

vulnerabilità

Se sfruttati, questi difetti possono consentire agli aggressori di ottenere l'accesso non autorizzato a informazioni riservate o, in generale, causare problemi

recentemente è stata annunciata la pubblicazione di varie versioni correttive sistema di controllo distribuito del codice sorgente Git che va dalla versione 2.38.4 alla versione 2.30.8, contenente due correzioni che rimuovono le vulnerabilità note che interessano le ottimizzazioni dei cloni locali e il comando "git apply".

Come tale, si dice che queste versioni di manutenzione devono affrontare due problemi di sicurezza identificato sotto CVE-2023-22490 e CVE-2023-23946. Entrambe le vulnerabilità interessano gli intervalli di versioni esistenti e gli utenti sono fortemente incoraggiati ad aggiornare di conseguenza.

Un utente malintenzionato può sfruttare in remoto una vulnerabilità per rilevare informazioni. Inoltre, un attaccante può
sfruttare una vulnerabilità localmente per manipolare i file.

Per sfruttare le vulnerabilità sono necessari privilegi normali. Entrambe le vulnerabilità richiedono l'interazione dell'utente.

La prima vulnerabilità identificata è CVE-2023-22490, che consente a un utente malintenzionato che controlla il contenuto di un repository clonato di ottenere l'accesso a dati sensibili sul sistema di un utente. Due difetti contribuiscono alla vulnerabilità:

  • Il primo difetto consente, quando si lavora con un repository appositamente costruito, di ottenere l'uso di ottimizzazioni di clonazione locale anche quando si utilizza un trasporto che interagisce con sistemi esterni.
  • Il secondo difetto consente di posizionare un collegamento simbolico al posto della directory $GIT_DIR/objects, simile alla vulnerabilità CVE-2022-39253, che bloccava il posizionamento di collegamenti simbolici nella directory $GIT_DIR/objects, ma il fatto che $GIT_DIR/objects la directory stessa non è stata controllata potrebbe essere un collegamento simbolico.

In modalità clone locale, git sposta $GIT_DIR/objects nella directory di destinazione dereferenziando i collegamenti simbolici, facendo in modo che i file di riferimento vengano copiati direttamente nella directory di destinazione. Il passaggio all'utilizzo delle ottimizzazioni del clone locale per il trasporto non locale consente di sfruttare una vulnerabilità quando si lavora con repository esterni (ad esempio, l'inclusione ricorsiva di sottomoduli con il comando "git clone --recurse-submodules" può portare alla clonazione di un repository dannoso impacchettato come sottomodulo in un altro repository).

Utilizzando un repository appositamente predisposto, Git può essere indotto a utilizzare la sua ottimizzazione del clone locale anche quando si utilizza un trasporto non locale.
Sebbene Git cancellerà i cloni locali la cui origine $GIT_DIR/objects directory contiene collegamenti simbolici (cfr. CVE-2022-39253), gli oggetti del file directory stessa può ancora essere un collegamento simbolico.

Questi due possono essere combinati per includere file arbitrari basati su percorsi nel file system della vittima all'interno del repository dannoso e il file copia di lavoro, consentendo l'esfiltrazione di dati simile a
CVE-2022-39253.

La seconda vulnerabilità rilevata è CVE-2023-23946 e questo consente di sovrascrivere il contenuto dei file al di fuori della directory lavorando passando un input formattato in modo speciale al comando "git apply".

Ad esempio, un attacco può essere eseguito quando le patch preparate da un utente malintenzionato vengono elaborate in git apply. Per impedire alle patch di creare file al di fuori della copia di lavoro, "git apply" blocca l'elaborazione delle patch che tentano di scrivere un file utilizzando collegamenti simbolici. Ma questa protezione si è rivelata aggirata creando in primo luogo un collegamento simbolico.

Fedora 36 e 37 hanno aggiornamenti di sicurezza in stato 'testing' che aggiorna 'git' alla versione 2.39.2.

Anche le vulnerabilità lo sono si rivolgono a GitLab 15.8.2, 15.7.7 e 15.6.8 in Community Edition (CE) ed Enterprise Edition (EE).

GitLab classifica le vulnerabilità come critiche perché CVE-2023-23946 consente il esecuzione di codice programma arbitrario in ambiente Gitaly (servizio Git RPC).
Allo stesso tempo, sarà incorporato Python Aggiorna alla versione 3.9.16 per correggere più vulnerabilità.

Infine Per chi è interessato a saperne di più, puoi seguire il rilascio degli aggiornamenti dei pacchetti nelle distribuzioni sulle pagine di DebianUbuntuRHELSUSE / openSUSEFedoraArcoFreeBSD.

Se non è possibile installare un aggiornamento, si consiglia come soluzione alternativa di evitare di eseguire "git clone" con l'opzione "–recurse-submodules" su repository non attendibili e di non utilizzare i comandi "git apply" e "git am" con codice non verificato.


Lascia un tuo commento

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

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  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.