CVE-2023-23946
ŚrednieCVSS 6.2Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 66 - wyżej niż 66% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może nadpisać dowolne pliki poza repozytorium, co może prowadzić do modyfikacji konfiguracji systemu lub wykonania kodu w kontekście użytkownika.
Rekomendacja
Zaktualizuj Git do wersji zawierającej poprawkę. Jako obejście używaj `git apply --stat` do sprawdzenia patcha przed zastosowaniem i unikaj patchy tworzących dowiązania symboliczne prowadzące do plików poza repozytorium.
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-22490Średnie
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.
Oryginalny opis (angielski, źródło NVD)
Git, a revision control system, is vulnerable to path traversal 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. By feeding a crafted input to `git apply`, a path outside the working tree can be overwritten as the user who is running `git apply`. 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. As a workaround, use `git apply --stat` to inspect a patch before applying; avoid applying one that creates a symbolic link and then creates a file beyond the symbolic link.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

