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

Sono stati pubblicati aggiornamenti correttivi per il sistema di controllo delle versioni distribuito Git nelle versioni 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, risolvendo cinque vulnerabilità. È possibile monitorare il rilascio degli aggiornamenti dei pacchetti nelle distribuzioni sulle pagine di Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Come misure preventive per proteggersi dalle vulnerabilità, si raccomanda 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 fornire impostazioni nel file di configurazione $GIT_DIR/config, che possono essere utilizzate per eseguire codice nel sistema specificando percorsi ai file eseguibili nelle direttive core.pager, core.editor e core.sshCommand. La vulnerabilità è causata da un errore logico che consente valori di configurazione molto lunghi di essere trattati come l'inizio di una nuova sezione durante le operazioni di rinomina o rimozione di sezioni dal file di configurazione. Nella pratica, sfruttando questa vulnerabilità, è possibile fornire valori sostitutivi tramite URL molto lunghi dei sottomoduli, che vengono salvati 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 al di fuori della directory di lavoro quando si elaborano patch formattate in modo specifico tramite il comando "git apply --reject". Tentando di eseguire un patch malevolo con il comando "git apply" che cerca di scrivere in un file attraverso un link simbolico, l'operazione verrà rifiutata. In Git 2.39.1, la protezione contro le manipolazioni tramite link simbolici è stata ampliata per bloccare le patch che creano link simbolici e tentano di scrivere tramite di essi. La sostanza della vulnerabilità in questione è che Git non considerava che un utente potesse eseguire il comando "git apply --reject" per scrivere le parti rifiutate della patch in file con estensione ".rej", e un attaccante può sfruttare questa opportunità per scrivere contenuti in una directory arbitraria, a condizione che i diritti di accesso lo permettano.

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 arbitrario nel sistema dell'utente), CVE-2023-25815 (overflow del buffer nell'elaborazione di file di localizzazione appositamente formattati in gettext) e CVE-2023-29011 (possibilità di sostituire il file connect.exe durante l'utilizzo di SOCKS5).

Fonte: opennet.ru

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