Rilasciate versioni corrette del sistema di gestione distribuita del codice sorgente 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, in cui sono state risolte due vulnerabilità che interessano le ottimizzazioni durante il clonaggio locale e il comando «git apply». È possibile monitorare l'uscita degli aggiornamenti dei pacchetti nei vari distribuzioni su pagine di Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Se non è possibile installare l'aggiornamento, si consiglia come misura alternativa di evitare di eseguire l'operazione «git clone» con l'opzione «—recurse-submodules» da repository non affidabili e di non utilizzare i comandi «git apply» e «git am» con codice non verificato.
- La vulnerabilità CVE-2023-22490 consente a un attaccante che controlla il contenuto del repository clonato di accedere a dati confidenziali nel sistema dell'utente. La comparsa della vulnerabilità è facilitata da due mancanze:
La prima mancanza consente, lavorando con un repository appositamente formattato, di realizzare ottimizzazioni locali di clonaggio anche quando si utilizza un trasporto che interagisce con sistemi esterni.
La seconda mancanza permette di posizionare un collegamento simbolico al posto della directory $GIT_DIR/objects, in analogia con la vulnerabilità CVE-2022-39253, in cui il ripristino bloccava la creazione di collegamenti simbolici nella directory $GIT_DIR/objects, ma non verificava che la stessa directory $GIT_DIR/objects potesse essere un collegamento simbolico.
In modalità-clonazione locale, git sposta $GIT_DIR/objects nella directory di destinazione, risolvendo i collegamenti simbolici, il che porta a copiare direttamente nella directory di destinazione i file a cui puntano i collegamenti. Passare all'applicazione di ottimizzazioni locali di clonaggio per un trasporto non locale consente di sfruttare la vulnerabilità quando si lavora con repository esterni (ad esempio, l'inclusione ricorsiva di submoduli con il comando «git clone —recurse-submodules» può portare a clonare un repository dannoso impacchettato come submodulo in un altro repository).
- La vulnerabilità CVE-2023-23946 consente di sovrascrivere il contenuto dei file al di fuori della directory di lavoro tramite l'invio di input appositamente formattato al comando «git apply». Ad esempio, un attacco può essere eseguito durante l'elaborazione in «git apply» di patch preparate da un malintenzionato. Per bloccare la creazione di file patch al di fuori della copia di lavoro, «git apply» blocca l'elaborazione delle patch che tentano di scrivere file utilizzando collegamenti simbolici. Tuttavia, questa protezione si è rivelata vulnerabile, permettendo di bypassarla creando prima un collegamento simbolico.
Fonte: opennet.ru
