CVE-2026-67326
WysokieCVSS 7.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 9 - wyżej niż 9% wszystkich znanych CVE
Streszczenie
GitPython przed wersją 3.1.50 nie waliduje znaków nowej linii w parametrze section funkcji config_writer(), umożliwiając atakującym wstrzyknięcie dowolnych nagłówków sekcji do pliku .git/config. Atakujący mogą wstrzyknąć znaki nowej linii, aby utworzyć sfałszowaną sekcję [core] z hooksPath wskazującym na kontrolowane przez atakującego katalogi, co prowadzi do zdalnego wykonania kodu po uruchomieniu hooków gita.
Ocena ryzyka
Atakujący może zdalnie wykonać dowolny kod na serwerze lub stacji roboczej, gdy ofiara uruchomi operacje gita, co może prowadzić do pełnego przejęcia systemu.
Rekomendacja
Zaktualizuj GitPython do wersji 3.1.50 lub nowszej, która poprawnie waliduje znaki nowej linii w parametrze section.
Inne podatności w GitPython
Zobacz wszystkie- CVE-2026-73624Wysokie
GitPython przed wersją 3.1.54 zawiera podatność na nadpisanie dowolnych plików w metodzie Diffable.diff, która nie waliduje opcji git przekazywanych przez kwargs. Atakujący mogą podać argument --output przez parametr other lub kwarg output, aby zapisać treść patchy do wybranych przez atakującego ścieżek plików z uprawnieniami procesu.
- CVE-2026-73622Wysokie
GitPython przed wersją 3.1.55 nie wyłącza rozwijania zmiennych środowiskowych w obsłudze URL w metodach Remote.create() i Submodule.add(), co pozwala atakującym na eksfiltrację sekretów poprzez podanie URL zawierających odwołania do zmiennych. Atakujący mogą tworzyć URL z tokenami zmiennych środowiskowych, które są rozwijane do .git/config i .gitmodules, a następnie przesyłane do kontrolowanych przez atakującego hostów podczas operacji fetch lub pull.
- CVE-2026-73620Wysokie
GitPython przed wersją 3.1.57 nie zabezpiecza przekazywania opcji git w metodach IndexFile.checkout() i TagReference.create(), co pozwala atakującym na przekazanie niebezpiecznych opcji przez kwargs. Atakujący mogą użyć --prefix do nadpisania dowolnych plików zawartością repozytorium lub -F do odczytu dowolnych plików zwracanych w odpowiedzi.
- CVE-2026-44244Wysokie
GitPython to biblioteka Pythona służąca do interakcji z repozytoriami Git. W wersjach przed 3.1.49 metoda GitConfigParser.set_value() nie weryfikowała wartości pod kątem nowych linii, co pozwalało na wstrzykiwanie złośliwych ścieżek do konfiguracji Git.
- CVE-2026-44243Wysokie
GitPython to biblioteka Pythona służąca do interakcji z repozytoriami Git. Przed wersją 3.1.48 istniała podatność, która pozwalała atakującym na manipulację plikami poza katalogiem .git repozytorium poprzez niewystarczającą walidację ścieżek odniesienia.
- CVE-2026-42284Wysokie
GitPython to biblioteka Pythona służąca do interakcji z repozytoriami Git. W wersjach przed 3.1.47 funkcja _clone() nieprawidłowo waliduje opcje multi_options, co pozwala na wykonanie złośliwych hooków podczas klonowania repozytoriów.
- CVE-2026-42215Wysokie
GitPython to biblioteka Pythona służąca do interakcji z repozytoriami Git. W wersjach od 3.1.30 do przed 3.1.47, biblioteka blokuje niebezpieczne opcje Git, ale odpowiednie argumenty Pythona mogą je ominąć, co prowadzi do wykonania dowolnych poleceń.
- CVE-2026-78676Krytyczne
GitPython przed wersją 3.1.59 niebezpiecznie przetwarza wieloliniowe wartości konfiguracji git podczas zapisu, co może przekształcić uśpione wartości w aktywne dyrektywy, takie jak core.hooksPath. Atakujący może spreparować plik konfiguracyjny z osadzonymi nowymi liniami, co po zapisie przez GitPython umożliwia wykonanie dowolnego kodu.
- CVE-2026-67324Krytyczne
GitPython 3.1.50 nie rozpoznaje połączonych krótkich form opcji, takich jak -u<value> (krótka forma --upload-pack=<value>), podczas egzekwowania domyślnej bramy niebezpiecznych opcji. Gdy aplikacja przekazuje opcje klonowania pod wpływem atakującego do Repo.clone_from(..., multi_options=..., allow_unsafe_options=False), atakujący może dostarczyć -u<helper>, aby ominąć bramę blokującą --upload-pack/-u, powodując wykonanie przez Git określonego polecenia pomocniczego podczas klonowania. Naprawione w wersji 3.1.51.
- CVE-2023-40267Krytyczne
GitPython w wersjach przed 3.1.32 nie blokuje niebezpiecznych opcji w clone i clone_from. Problem ten występuje z powodu niekompletnej poprawki dla CVE-2022-24439.
Oryginalny opis (angielski, źródło NVD)
GitPython before 3.1.50 fails to validate newline characters in the section parameter of config_writer(), allowing attackers to inject arbitrary section headers into .git/config. Attackers can inject newlines to create a forged [core] section with hooksPath pointing to attacker-controlled directories, achieving remote code execution when git hooks are triggered.

