Vulnerabilità in Git che consentono di sovrascrivere file o eseguire il proprio codice

Sono stati pubblicati aggiornamenti correttivi per il sistema di gestione distribuito dei sorgenti Git 2.40.1, 2.39.3, 2.38.5, 2.37.7, 2.36.6, 2.35.8, 2.34.8, 2.33.8, 2.32.7, 2.31.8 e 2.30.9, nei quali sono state risolte cinque vulnerabilità. È possibile tenere traccia delle uscite degli aggiornamenti nei pacchetti delle distribuzioni visitando le pagine di Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Come misure di protezione dalle vulnerabilità, si consiglia di evitare l'esecuzione del comando "git apply --reject" quando si lavora con patch esterne non verificate e di controllare il contenuto di $GIT_DIR/config prima di eseguire i comandi "git submodule deinit", "git config --rename-section" e "git config --remove-section" quando si lavora con repository non affidabili.

La vulnerabilità CVE-2023-29007 consente di inserire delle impostazioni nel file di configurazione $GIT_DIR/config, che possono essere utilizzate per eseguire codice nel sistema tramite l'indicazione di percorsi a file eseguibili nelle direttive core.pager, core.editor e core.sshCommand. La vulnerabilità è causata da un errore logico, per cui valori di configurazione molto lunghi possono essere elaborati come inizio di una nuova sezione durante operazioni di rinominazione o rimozione di sezioni dal file di configurazione. Nella pratica, è possibile sfruttare questa vulnerabilità specificando URL molto lunghi per i submoduli, che vengono salvati nel file $GIT_DIR/config durante l'inizializzazione. Questi URL possono essere interpretati come nuove impostazioni nel tentativo di rimuoverli tramite "git submodule deinit".

La vulnerabilità CVE-2023-25652 consente di sovrascrivere il contenuto dei file al di fuori della directory di lavoro quando si utilizza il comando «git apply —reject» con patch appositamente formattate. Quando si tenta di eseguire il comando «git apply» con una patch dannosa che cerca di scrivere in un file tramite un collegamento simbolico, l'operazione verrà rifiutata. In Git 2.39.1, la protezione contro le manomissioni tramite collegamenti simbolici è stata ampliata per bloccare le patch che creano collegamenti simbolici e tentano di scrivere tramite essi. L'essenza della vulnerabilità in esame è che Git non considerava che un utente potesse eseguire il comando «git apply —reject» per scrivere le parti rifiutate della patch come file con estensione «.rej», e un aggressore può sfruttare questa possibilità per scrivere contenuti in una directory arbitraria, a seconda dei diritti di accesso attuali.

Inoltre, sono state risolte tre vulnerabilità che si manifestano solo sulla piattaforma Windows: CVE-2023-29012 (ricerca dell'eseguibile doskey.exe nella directory di lavoro del repository durante l'esecuzione del comando "Git CMD", che consente l'esecuzione di codice malevolo nel sistema dell'utente), CVE-2023-25815 (overflow del buffer nella gestione di file di localizzazione formattati appositamente in gettext) e CVE-2023-29011 (possibilità di sostituire il file connect.exe durante l'uso attraverso SOCKS5).

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster