Vulnerabilità in Git che portano alla perdita di dati e alla sovrascrittura

Sono state pubblicate le versioni correttive del sistema di controllo del codice sorgente distribuito Git 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 e 2.30.8, che risolvono due vulnerabilità, che riguardano le ottimizzazioni per la clonazione locale e il comando "git apply". Puoi tenere traccia del rilascio degli aggiornamenti dei pacchetti nelle distribuzioni sulle pagine di Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Se non è possibile installare l'aggiornamento, si consiglia come soluzione alternativa di evitare di eseguire l'operazione "git clone" con l'opzione "--recurse-submodules" su repository non attendibili e di evitare di utilizzare "git apply" e " git am" su repository non attendibili. code.

  • La vulnerabilità CVE-2023-22490 consente a un utente malintenzionato che controlla il contenuto di un repository clonato di accedere ai dati sensibili sul sistema dell'utente. Due difetti contribuiscono all’emergere della vulnerabilità:

    Il primo difetto consente, quando si lavora con un repository appositamente progettato, di ottenere l'utilizzo di ottimizzazioni di clonazione locale anche quando si utilizza un trasporto che interagisce con sistemi esterni.

    La seconda falla consente il posizionamento di un collegamento simbolico invece della directory $GIT_DIR/objects, simile alla vulnerabilità CVE-2022-39253, la cui correzione bloccava il posizionamento di collegamenti simbolici nella directory $GIT_DIR/objects, ma non controlla il fatto che la stessa directory $GIT_DIR/objects possa essere un collegamento simbolico.

    In modalità clonazione locale, git trasferisce $GIT_DIR/objects nella directory di destinazione dereferenziando i collegamenti simbolici, il che fa sì che i file a cui si fa riferimento direttamente vengano copiati nella directory di destinazione. Il passaggio all'utilizzo delle ottimizzazioni di clonazione locale per il trasporto non locale consente lo sfruttamento delle 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 confezionato come sottomodulo in un altro archivio).

  • Vulnerabilità CVE-2023-23946 consente di sovrascrivere il contenuto dei file esterni alla directory di lavoro passando un input appositamente predisposto al comando "git apply". Ad esempio, un attacco può essere effettuato durante l’elaborazione delle patch preparate da un utente malintenzionato 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 i collegamenti simbolici. Ma si scopre che questa protezione può essere aggirata creando innanzitutto un collegamento simbolico.

Fonte: opennet.ru

Aggiungi un commento