Due vulnerabilità in Git che possono portare all'esecuzione remota di codice.

Sono stati rilasciati aggiornamenti correttivi per il sistema di controllo versione distribuito Git 2.39.1, 2.38.3, 2.37.5, 2.36.4, 2.35.6, 2.34.6, 2.33.6, 2.32.5, 2.31.6 e 2.30.7, che risolvono due vulnerabilità che possono consentire l'esecuzione di codice malevolo sul sistema dell'utente quando si utilizza il comando «git archive» e si lavora con repository esterni non affidabili. Le vulnerabilità sono causate da errori nella formattazione dei commit e nell'elaborazione del file «.gitattributes», i quali, durante la gestione di repository esterni, possono portare a scritture di memoria al di fuori dell'heap e letture di dati arbitrari dalla memoria.

Entrambe le vulnerabilità sono state identificate durante un audit della sicurezza della base di codice di Git, condotto dall'azienda X41 su incarico del fondo OSTIF (Open Source Technology Improvement Fund), creato per migliorare la sicurezza dei progetti open source. Oltre ai due problemi critici sotto esame, durante l'audit è stata trovata anche una vulnerabilità pericolosa, una vulnerabilità di media gravità e quattro problemi non pericolosi. Sono state fornite anche 27 raccomandazioni per migliorare la sicurezza della base di codice.

  • CVE-2022-41903: overflow intero nel codice di formattazione delle informazioni sui commit, che si verifica durante l'elaborazione di grandi valori di offset nei formati di riempimento, come «%<», «%», «%>>(» e «%><( )». L'overflow intero si verifica nella funzione format_and_pad_commit() a causa dell'uso di tipo int per una variabile size_t, che partecipa alla definizione della dimensione dell'area copiata durante la chiamata a memcpy().

    La vulnerabilità si manifesta sia durante una chiamata diretta con parametri di formattazione appositamente elaborati (ad esempio, eseguendo «git log —format=…»), sia mediante l'uso indiretto della formattazione durante l'esecuzione del comando «git archive» in un repository sotto il controllo dell'attaccante. Nel secondo caso, i modificatori di formattazione sono definiti tramite il parametro export-subst nel file «.gitattributes», che l'attaccante può posizionare nel proprio repository. Il problema può essere sfruttato per leggere e scrivere aree arbitrari nell'heap e può portare all'esecuzione di codice malevolo quando si lavora con repository non verificati.

  • CVE-2022-23521: overflow intero durante l'analisi del contenuto dei file «.gitattributes» in un repository, evidenziato nel trattamento di un numero molto elevato di pattern di percorsi dei file o un gran numero di attributi con un singolo pattern, così come durante l'analisi di nomi di attributi molto lunghi. Il problema può essere utilizzato per leggere e scrivere aree arbitrari nell'heap e può portare all'esecuzione di codice malevolo quando si lavora con un repository non verificato, in cui l'attaccante può inserire un file «.gitattributes» specificamente formattato e garantirne l'indicizzazione.

Le pubblicazioni degli aggiornamenti dei pacchetti nei vari distribuzioni possono essere seguite sulle pagine: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD. Per ridurre il rischio di attacchi, in caso di impossibilità ad installare gli aggiornamenti in tempo, è consigliabile evitare di lavorare con repository non affidabili e di utilizzare il comando «git archive». È importante ricordare che il comando «git archive» può essere eseguito implicitamente, ad esempio, da git daemon. Per disabilitare l'esecuzione di «git archive» in git daemon, è necessario modificare il parametro daemon.uploadArch con il comando «git config —global daemon.uploadArch false».

Si segnala inoltre una ulteriore vulnerabilità (CVE-2022-41953) nel prodotto Git for Windows, che consente l'esecuzione di codice durante la clonazione tramite interfaccia grafica di repository esterni non verificati. Il problema è causato dal fatto che Git GUI per Windows, dopo l'operazione «checkout», esegue automaticamente alcune comandi di post-elaborazione, come l’esecuzione di un programma di controllo ortografico, con i percorsi di ricerca che includono anche l'albero di lavoro clonati (l'attacco consiste nell'aggiungere un controllo ortografico all'albero di lavoro del repository).

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