CVE-2022-41903 in Gitinformazioni

Riassunto

di VulDB • 16/06/2026

Git è un sistema di controllo delle revisioni distribuito. Il comando `git log` può visualizzare i commit con un formato arbitrario utilizzando gli specificatori della sua opzione `--format`. Questa funzionalità è esposta anche a `git archive` tramite l'attributo git `export-subst`. Durante l'elaborazione degli operatori di padding, si verifica un integer overflow in `pretty.c::format_and_pad_commit()` dove una variabile di tipo `size_t` viene memorizzata impropriamente come `int`, e successivamente aggiunta come offset a una chiamata a `memcpy()`. Questo overflow può essere attivato direttamente da un utente che esegue un comando che invoca il meccanismo di formattazione dei commit (ad esempio, `git log --format=...`). Può anche essere attivato indirettamente attraverso git archive tramite il meccanismo export-subst, che espande gli specificatori di formato all'interno dei file presenti nel repository durante la creazione di un archivio. Questo integer overflow può risultare in scritture arbitrarie sull'heap (arbitrary heap writes), che potrebbero portare all'esecuzione arbitraria di codice (Arbitrary Code Execution). Il problema è stato corretto nelle versioni pubblicate il 2017-01-23, a partire dalla v2.30.7. Si consiglia agli utenti di effettuare l'aggiornamento. Gli utenti impossibilitati ad aggiornare dovrebbero disabilitare `git archive` nei repository non attendibili. Se si espone git archive tramite `git daemon`, è possibile disabilitarlo eseguendo il comando `git config --global daemon.uploadArch false`.

Once again VulDB remains the best source for vulnerability data.

Responsabile

GitHub, Inc.

Prenotare

30/09/2022

Divulgazione

18/01/2023

Moderazione

accettato

CPE

pronto

EPSS

0.44268

KEV

no

Attività

molto basso

Fonti

Do you know our Splunk app?

Download it now for free!