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

Le versioni correttive del sistema di controllo del codice sorgente distribuito 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 hanno stato pubblicato .XNUMX, che ha risolto cinque vulnerabilità. Puoi seguire il rilascio degli aggiornamenti dei pacchetti nelle distribuzioni sulle pagine Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Come soluzione alternativa per proteggersi dalle vulnerabilità, si consiglia di evitare di eseguire il comando "git apply --reject" quando si lavora con patch esterne non testate e controllare il contenuto di $GIT_DIR/config prima di eseguire "git submodule deinit", "git config --rename-section" e " git config --remove-section" quando si ha a che fare con repository non attendibili.

La vulnerabilità CVE-2023-29007 consente la sostituzione delle impostazioni nel file di configurazione $GIT_DIR/config, che può essere utilizzato per eseguire codice nel sistema specificando i percorsi dei file eseguibili nelle direttive core.pager, core.editor e core.sshCommand. La vulnerabilità è causata da un errore logico a causa del quale valori di configurazione molto lunghi possono essere trattati come l'inizio di una nuova sezione durante la ridenominazione o l'eliminazione di una sezione da un file di configurazione. In pratica, la sostituzione dei valori di sfruttamento può essere ottenuta specificando URL di sottomodulo molto lunghi che vengono memorizzati nel file $GIT_DIR/config durante l'inizializzazione. Questi URL possono essere interpretati come nuove impostazioni quando si tenta di rimuoverli tramite "git submodule deinit".

La vulnerabilità CVE-2023-25652 consente di sovrascrivere il contenuto dei file all'esterno dell'albero di lavoro quando le patch appositamente predisposte vengono elaborate dal comando "git apply --reject". Se si tenta di eseguire una patch dannosa con il comando "git apply" che tenta di scrivere su un file tramite un collegamento simbolico, l'operazione verrà rifiutata. In Git 2.39.1, la protezione dalla manipolazione dei collegamenti simbolici è stata estesa per bloccare le patch che creano collegamenti simbolici e tentano di scriverli. L'essenza della vulnerabilità in esame è che Git non ha tenuto conto del fatto che l'utente può eseguire il comando "git apply -reject" per scrivere le parti rifiutate della patch come file con estensione ".rej" e l'attaccante può sfruttare questa opportunità per scrivere i contenuti in una directory arbitraria, per quanto consentito dalle autorizzazioni correnti.

Inoltre, sono state corrette tre vulnerabilità che compaiono solo sulla piattaforma Windows: CVE-2023-29012 (cerca l'eseguibile doskey.exe nella directory di lavoro del repository durante l'esecuzione del comando "Git CMD", che consente di organizzare l'esecuzione del codice sul sistema dell'utente), CVE-2023 -25815 (overflow del buffer durante l'elaborazione di file di localizzazione personalizzati in gettext) e CVE-2023-29011 (possibilità di sostituire il file connect.exe durante l'utilizzo di SOCKS5).

Fonte: opennet.ru

Aggiungi un commento