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-2024-52005Wysokie
Git podczas klonowania, pobierania lub wypychania przesyła komunikaty informacyjne i błędów z procesu zdalnego przez kanał sideband, poprzedzając je "remote:" i wypisując na standardowe wyjście błędów. Git nie chroni przed sekwencjami ucieczki ANSI, które złośliwy aktor może wykorzystać do ukrycia lub zafałszowania informacji bądź nakłonienia użytkownika do wykonania niezaufanych skryptów.
- 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-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-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-2023-29007Wysokie
Git przed wersjami 2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3 i 2.40.1 zawiera błąd w obsłudze pliku .gitmodules, który pozwala na wstrzyknięcie dowolnej konfiguracji do $GIT_DIR/config podczas próby usunięcia sekcji podmodułu. Jeśli wstrzyknięte wartości określają programy do uruchomienia (np. core.pager, core.editor, core.sshCommand), może to prowadzić do zdalnego wykonania kodu.
- 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.
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

