CVE-2026-73621
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 10 - wyżej niż 10% wszystkich znanych CVE
Streszczenie
GitPython przed wersją 3.1.56 zawiera podatność na wstrzyknięcie argumentów w metodzie Commit.count(), która przekazuje argumenty słownikowe do 'git rev-list' bez zabezpieczenia check_unsafe_options obecnego w pokrewnej metodzie iter_items. Atakujący, który może kontrolować opcje przekazywane do Commit.count (np. przez aplikację przekazującą słownik opcji dostarczony przez użytkownika), może podać output=<path>, powodując, że 'git rev-list --output=<path>' otworzy i skróci docelowy plik do zera bajtów przed parsowaniem rewizji. Umożliwia to zniszczenie/wyzerowanie dowolnego pliku na poziomie uprawnień procesu (bez kontroli zawartości, skrócenie do 0 bajtów).
Ocena ryzyka
Atakujący może zniszczyć lub wyzerować dowolny plik w systemie, do którego proces ma dostęp, co może prowadzić do utraty danych lub zakłócenia działania aplikacji.
Rekomendacja
Zaleca się aktualizację GitPython do wersji 3.1.56 lub nowszej, która zawiera poprawkę eliminującą podatność na wstrzyknięcie argumentów.
Oryginalny opis (angielski, źródło NVD)
GitPython before 3.1.56 contains an argument injection vulnerability in the Commit.count() method, which forwards keyword arguments to 'git rev-list' without the check_unsafe_options guard present in the sibling iter_items method. An attacker who can control options passed to Commit.count (e.g., via an application that forwards a user-supplied options dict) can supply output=<path>, causing 'git rev-list --output=<path>' to open and truncate the target file to zero bytes before revision parsing. This allows destruction/blanking of an arbitrary file at the process's privilege level (no content control, 0-byte truncation).

