CVE-2026-76218
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 40 - wyżej niż 40% wszystkich znanych CVE
Streszczenie
GitPython przed wersją 3.1.58 zawiera podatność zdalnego wykonania kodu w funkcji Repo.init, która przekazuje niebezpieczne opcje git bez walidacji. Atakujący może dostarczyć parametr template wskazujący na katalog ze złośliwymi hakami git, które wykonują dowolny kod podczas operacji git na zainicjalizowanym repozytorium.
Ocena ryzyka
Ryzyko zdalnego wykonania kodu w środowisku, w którym używany jest GitPython, co może prowadzić do pełnego przejęcia systemu lub naruszenia danych.
Rekomendacja
Zaktualizuj GitPython do wersji 3.1.58 lub nowszej. Ogranicz zaufanie do parametrów przekazywanych do Repo.init i nie używaj niezaufanych danych jako template.
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ń.
- GHSA-w8jc-g24h-crhwWysokie
GitPython od 2022 do 2026 roku wdrażał metodycznie dwa zabezpieczenia: Git.check_unsafe_protocols(url) (zgłasza UnsafeProtocolError dla URL-i typu <transport>::) oraz Git.check_unsafe_options(...) (zgłasza UnsafeOptionError dla opcji z listy zabronionych). Opis wskazuje, że wdrożenie tych zabezpieczeń nie objęło wszystkich ścieżek kodu.
- GHSA-m64x-33q8-m5h7Wysokie
To pozostałość po GHSA-g5vv-9gxw-82hx / CVE-2026-87819. Poprawka w wersji 3.1.60 uczyniła Actor._from_string wolnym od wyrażeń regularnych, ale parse_actor_and_date nadal uruchamia _re_actor_epoch na tej samej linii autora/zatwierdzającego/taggera o krok wcześniej. Wzorzec ten wykazuje kwadratowe cofanie przy końcowym epo...
- GHSA-jm78-9fvv-mhgrWysokie
Walidator nazw konfiguracji w GitPython neutralizuje tylko znaki CR/LF/NUL dla etykiety "option"; nie odrzuca znaków =, #, ;, [, ] ani białych znaków w nazwie opcji. Funkcja write_section zapisuje nazwę opcji dosłownie do pliku konfiguracyjnego, więc nazwa taka jak sshCommand = touch <cmd> może wstrzyknąć konfigurację.
- GHSA-59cr-6r3x-644wŚrednie
GitPython w wersji 3.1.61 (oraz gałąź main) ma lukę w git/objects/submodule/base.py — poprawka dla GHSA-hmq2-w58f-27jc dodała Submodule._validated_name(), ale opis nie precyzuje pełnego zakresu problemu. Kod w tym obszarze jest identyczny w 3.1.61 i main.
- GHSA-f9j4-qggq-h239Wysokie
W bibliotece GitPython metoda Remote.pull() przekazuje pozycyjny argument refspec bezpośrednio do procesu potomnego git pull, podczas gdy zabezpieczenie przed niebezpiecznymi opcjami sprawdza tylko argumenty nazwane. Aplikacja przekazująca dane kontrolowane przez atakującego jako refspec (np. nazwę gałęzi podaną przez użytkownika) może umożliwić wstrzyknięcie niebezpiecznych opcji.
- GHSA-gq48-pqfc-9p58Średnie
Publiczne API GitPython Submodule.move() weryfikuje, że cel znajduje się leksykalnie wewnątrz repozytorium nadrzędnego, ale nie odrzuca dowiązań symbolicznych w pośrednich komponentach ścieżki docelowej przed operacjami na systemie plików. W systemach, które pobierają symlinki Git, niezaufane repozytorium może to wykorzystać.
Oryginalny opis (angielski, źródło NVD)
GitPython before 3.1.58 contains a remote code execution vulnerability in Repo.init that forwards unsafe git options without validation. Attackers can supply a template parameter pointing to a directory with malicious git hooks that execute arbitrary code when git operations are performed on the initialized repository.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

