CVE-2023-40267
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 57 - wyżej niż 57% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Organizacje mogą być narażone na wykorzystanie niebezpiecznych opcji, co może prowadzić do nieautoryzowanego dostępu do repozytoriów.
Rekomendacja
Zaleca się aktualizację GitPython do wersji 3.1.32 lub nowszej, aby zniwelować ryzyko związane z tą podatnością.
Inne podatności w GitPython
Zobacz wszystkie- 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-2026-114145Wysokie
GitPython to biblioteka Pythona do interakcji z repozytoriami Git. Przed wersją 3.2.1 funkcja create_submodule() w git/objects/submodule/base.py akceptuje ścieżkę podmodułu kontrolowaną przez atakującego, taką jak .git/hooks, i wywołuje _clone_repo() przed bezpiecznym odrzuceniem celu. W wersji 3.1.x _validate_repo_path() nie istnieje i wywołanie kończy się po cichu, a w 3.2.0 i późniejszych sprawdzenie w git/index/base.py zgłasza ValueError dopiero po zapisaniu klonu na dysk i nie usuwa umieszczonego pliku. Atakujący może umieścić wykonywalny hook post-checkout, który zostanie uruchomiony przez późniejszą operację Git.
- CVE-2026-110860Średnie
GitPython od wersji 3.1.62 do 3.2.0 zawiera błąd podążania za dowiązaniami symbolicznymi w Submodule.move(), który sprawdza cel tylko leksykalnie i nie odrzuca dowiązań symbolicznych w pośrednich komponentach ścieżki. Niezaufane repozytorium może zatwierdzić dowiązanie symboliczne wskazujące poza drzewo robocze, przez co aplikacja przenosząca zainicjowany podmoduł pod nim przenosi checkout na zewnątrz i uszkadza indeks oraz .gitmodules.
- CVE-2026-110859Wysokie
GitPython przed wersją 3.2.0 zawiera podatność wstrzyknięcia argumentów w metodzie Head.checkout() pozwalającą zdalnym atakującym odczytać dowolne pliki poprzez podanie nazwy gałęzi interpretowanej jako opcja git. Atakujący może hostować repozytorium, którego domyślna gałąź nazywa się --pathspec-from-file=<path>, powodując wyciek zawartości plików przez komunikaty GitCommandError w aplikacjach klonujących i przełączających się na aktywną gałąź.
- CVE-2026-110858Wysokie
GitPython w wersjach od 3.1.30 do 3.2.0 zawiera podatność zdalnego wykonania kodu w metodzie Remote.pull(), której zabezpieczenie przed niebezpiecznymi opcjami sprawdza tylko argumenty nazwane, a nie pozycyjny refspec. Atakujący kontrolujący refspec może podać --upload-pack=<command>, aby wykonać polecenia systemowe jako proces wywołujący przez transport lokalny lub SSH.
Oryginalny opis (angielski, źródło NVD)
GitPython before 3.1.32 does not block insecure non-multi options in clone and clone_from. NOTE: this issue exists because of an incomplete fix for CVE-2022-24439.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

