CVE-2026-71556
WysokieCVSS 7.1Streszczenie
go-git przed wersjami 5.19.2 i 6.0.0-alpha.5 ma podatność, w której operacje na drzewie roboczym (checkout, status, add) rozwiązują dowiązania symboliczne bez ograniczania do granic drzewa roboczego. Złośliwie przygotowane repozytorium z dowiązaniem symbolicznym może spowodować odczyt lub zapis plików poza zamierzonym katalogiem roboczym.
Ocena ryzyka
Atakujący może wykorzystać złośliwe repozytorium do odczytu lub zapisu plików poza katalogiem roboczym, co może prowadzić do naruszenia poufności lub integralności danych.
Rekomendacja
Zaktualizuj go-git do wersji 5.19.2 lub 6.0.0-alpha.5, które naprawiają ten problem.
Inne podatności w go-git
Zobacz wszystkie- CVE-2026-71557Średnie
go-git to biblioteka implementująca git w czystym Go. Przed wersjami 5.19.2 i 6.0.0-alpha.5 nazwy referencji nie są sanityzowane przed użyciem do konstruowania ścieżek na dysku w katalogu przechowywania referencji, więc złośliwie spreparowana nazwa referencji (np. zawierająca sekwencje przechodzenia do katalogów) może spowodować zapis plików poza zamierzonym katalogiem. Wersje 5.19.2 i 6.0.0-alpha.5 naprawiają problem.
- CVE-2026-34165Średnie
W bibliotece go-git (implementacja gita w czystym Go) w wersjach od 5.0.0 do przed 5.17.1 złośliwie spreparowany plik .idx może powodować asymetryczne zużycie pamięci, prowadząc do wyczerpania dostępnej pamięci i warunku odmowy usługi (DoS). Eksploatacja wymaga zapisu do katalogu .git lokalnego repozytorium w celu utworzenia lub zmodyfikowania plików .idx. Podatność została załatana w wersji 5.17.1.
- CVE-2026-33762Niskie
go-git to biblioteka implementująca Git w czystym Go. Przed wersją 5.17.1 dekoder indeksu dla formatu wersji 4 nie sprawdza poprawności długości prefiksu ścieżki przed zastosowaniem go do wcześniej zdekodowanej ścieżki. Złośliwie spreparowany plik indeksu może wywołać operację poza zakresem, prowadząc do paniki w czasie wykonywania podczas normalnego parsowania indeksu. Problem dotyczy tylko formatu indeksu Git w wersji 4; wcześniejsze formaty (v2 i v3) nie są podatne.
Oryginalny opis (angielski, źródło NVD)
go-git is an extensible git implementation library written in pure Go. Prior to 5.19.2 and 6.0.0-alpha.5, worktree operations (including checkout, status, and add) resolve symbolic links inside the working tree without confining resolution to the worktree boundary, so a maliciously crafted repository containing a symlink can cause go-git to read from or write to files outside the intended working directory when the repository is cloned and its worktree operations are used. Versions 5.19.2 and 6.0.0-alpha.5.

