Sono stati pubblicati aggiornamenti correttivi per il sistema distribuito di controllo delle versioni Git 2.38.1, 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3 e 2.37.4, che risolvono due vulnerabilità che si manifestano quando si utilizza il comando "git clone" in modalità "--recurse-submodules" con repository non verificati e durante l'utilizzo della modalità interattiva di "git shell". È possibile tenere traccia degli aggiornamenti dei pacchetti nelle distribuzioni sulle pagine di Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.
- CVE-2022-39253 — la vulnerabilità consente a un attaccante, che controlla il contenuto del repository clonato, di accedere a dati riservati sul sistema dell'utente, posizionando nella directory $GIT_DIR/objects del repository clonato collegamenti simbolici a file di interesse. Il problema si manifesta solo durante il cloning locale (in modalità "--local", utilizzata quando i dati di origine e quelli di destinazione del cloning si trovano nella stessa partizione) o durante il cloning di un repository malevolo impacchettato come sottomodulo in un altro repository (ad esempio, quando si include ricorsivamente i sottomoduli con il comando "git clone --recurse-submodules").
La vulnerabilità è causata dal fatto che in modalità di cloning "--local", git trasferisce il contenuto di $GIT_DIR/objects nella directory di destinazione (creando link fisici o copie dei file), eseguendo la dereferenziazione dei collegamenti simbolici (cioè, alla fine vengono copiati nella directory di destinazione non i collegamenti simbolici, ma i file a cui puntano). Per bloccare la manifestazione della vulnerabilità nelle nuove versioni di git, è stato vietato il cloning dei repository in modalità "--local" contenenti collegamenti simbolici nella directory $GIT_DIR/objects. Inoltre, il valore predefinito del parametro protocol.file.allow è stato modificato in "user", il che rende le operazioni di cloning che utilizzano il protocollo file:// insicure.
- CVE-2022-39260 — overflow di interi nella funzione split_cmdline(), utilizzata nel comando «git shell». Il problema può essere sfruttato per attaccare gli utenti in cui «git shell» è utilizzato come shell durante il login e la modalità interattiva è abilitata (è stato creato un file $HOME/git-shell-commands). Lo sfruttamento della vulnerabilità può portare all'esecuzione di codice arbitrario nel sistema quando viene inviata un comando appositamente formattato, di dimensioni superiori a 2 GB.
Fonte: opennet.ru
