CVE-2023-22490
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 52 - wyżej niż 52% wszystkich znanych CVE
Streszczenie
Git przed wersjami 2.39.2, 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 i 2.30.8 może zostać oszukany, aby użyć lokalnej optymalizacji klonowania nawet przy transporcie nie-lokalnym, co może umożliwić eksfiltrację danych z systemu ofiary.
Ocena ryzyka
Klonowanie z niezaufanego repozytorium może prowadzić do wycieku plików z systemu ofiary, co może naruszyć poufność danych.
Rekomendacja
Zaleca się aktualizację Git do jednej z podatnych wersji zawierających poprawkę. Jeśli aktualizacja jest niemożliwa, unikaj klonowania z --recurse-submodules i zamiast tego ręcznie wykonuj git submodule update po sprawdzeniu plików .gitmodules.
Inne podatności w Git
Zobacz wszystkie- CVE-2017-14867Wysokie
Git w wersjach przed 2.10.5, 2.11.x przed 2.11.4, 2.12.x przed 2.12.5, 2.13.x przed 2.13.6 oraz 2.14.x przed 2.14.2 wykorzystuje niebezpieczne skrypty Perl do obsługi podkomend, co pozwala atakującym na wykonywanie dowolnych poleceń systemowych za pomocą metaznaków powłoki w nazwie modułu.
- CVE-2025-48385Wysokie
Git to szybki, skalowalny, rozproszony system kontroli wersji. Podczas klonowania repozytorium Git wie, że może opcjonalnie pobrać pakiet reklamowany przez zdalny serwer, co pozwala serwerowi na odciążenie.
- CVE-2024-50349Średnie
Gdy Git prosi o poświadczenia przez monit terminala (bez użycia pomocnika poświadczeń), wypisuje nazwę hosta, dla którego są one żądane. Może to prowadzić do ujawnienia nazwy hosta w nieoczekiwanych kontekstach.
- CVE-2024-52006Wysokie
Git definiuje protokół liniowy używany do wymiany informacji między Git a pomocnikami poświadczeń. Niektóre ekosystemy (najbardziej prawdopodobnie chodzi o systemy, które używają tego protokołu) mogą być podatne na ataki związane z tym protokołem.
- CVE-2015-7545Krytyczne
W programie Git przed wersją 2.3.10, 2.4.x przed 2.4.10, 2.5.x przed 2.5.4 oraz 2.6.x przed 2.6.1 występuje podatność, która nie ogranicza właściwie dozwolonych protokołów w programach pomocniczych zdalnych. Może to umożliwić zdalnym atakującym wykonanie dowolnego kodu poprzez URL w pliku .gitmodules lub innych nieznanych źródłach w submodule.
- CVE-2016-2324Krytyczne
Przepełnienie całkowitej liczby w Git przed wersją 2.7.4 umożliwia zdalnym atakującym wykonanie dowolnego kodu poprzez (1) długą nazwę pliku lub (2) wiele zagnieżdżonych drzew, co prowadzi do przepełnienia bufora w stercie.
- CVE-2016-2315Krytyczne
W wersjach git przed 2.7.4 występuje błąd w pliku revision.c, który wykorzystuje nieprawidłowy typ danych całkowitych. Umożliwia to zdalnym atakującym wykonanie dowolnego kodu poprzez (1) długą nazwę pliku lub (2) wiele zagnieżdżonych drzew, co prowadzi do przepełnienia bufora na stercie.
- CVE-2026-93326Średnie
Specjalnie spreparowany krok budowania źródła Git może obejść niektóre zasady walidacji. Złośliwa definicja budowania może sprawić, że repozytorium będzie wyglądać, jakby pochodziło z innego zdalnego adresu URL niż w rzeczywistości podczas klonowania Git. Jeśli polityka wykonuje bardziej rygorystyczną walidację, na przykład opartą na skrócie commit, danych commit lub podpisach, to wszystkie te walidacje nadal działają poprawnie.
- CVE-2025-69160Wysokie
Wersje Gita do 1.11 zawierają podatność na nieautoryzowane włączenie lokalnych plików.
- CVE-2023-23946Średnie
Git jest podatny na path traversal w wersjach przed 2.39.2, 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 i 2.30.8. Poprzez spreparowane dane wejściowe do `git apply` można nadpisać plik poza drzewem roboczym jako użytkownik uruchamiający to polecenie.
Oryginalny opis (angielski, źródło NVD)
Git is a revision control system. Using a specially-crafted repository, Git prior to versions 2.39.2, 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7, and 2.30.8 can be tricked into using its local clone optimization even when using a non-local transport. Though Git will abort local clones whose source `$GIT_DIR/objects` directory contains symbolic links, the `objects` directory itself may still be a symbolic link. These two may be combined to include arbitrary files based on known paths on the victim's filesystem within the malicious repository's working copy, allowing for data exfiltration in a similar manner as CVE-2022-39253. A fix has been prepared and will appear in v2.39.2 v2.38.4 v2.37.6 v2.36.5 v2.35.7 v2.34.7 v2.33.7 v2.32.6, v2.31.7 and v2.30.8. If upgrading is impractical, two short-term workarounds are available. Avoid cloning repositories from untrusted sources with `--recurse-submodules`. Instead, consider cloning repositories without recursively cloning their submodules, and instead run `git submodule update` at each layer. Before doing so, inspect each new `.gitmodules` file to ensure that it does not contain suspicious module URLs.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

