Podatności libgit2
8 znanych podatności CVE w libgit2, przetłumaczonych i ocenionych.
- CVE-2016-10129Wysokie
Wsparcie dla protokołu Git Smart w libgit2 przed wersją 0.24.6 oraz 0.25.x przed wersją 0.25.1 umożliwia zdalnym atakującym spowodowanie odmowy usługi (dereferencja wskaźnika NULL) poprzez wysłanie pustej linii pakietu.
- CVE-2016-10128Krytyczne
Przepełnienie bufora w funkcji git_pkt_parse_line w protokole Git Smart w libgit2 przed wersją 0.24.6 oraz 0.25.x przed wersją 0.25.1 umożliwia zdalnym atakującym wywołanie nieokreślonego wpływu poprzez spreparowany pakiet nieczyszczący.
- CVE-2026-53587Wysokie
libgit2 przed wersjami 1.8.6 i 1.9.5 zawiera podatność polegającą na wykonaniu strncmp o stałej długości w set_data bez uprzedniego sprawdzenia, czy bufor capability w pakiecie pkt-line protokołu smart zawiera 14 bajtów. Złośliwy serwer Git może spowodować, że format_str przesunie się poza pkt-line, a obliczenie długości przez memchr ulegnie niedomiarowi, co prowadzi do odczytu poza stertą i może spowodować awarię klienta podczas pierwszego pakietu reklamującego referencje.
- CVE-2026-53586Średnie
libgit2 przed wersjami 1.8.6 i 1.9.5 zawiera podatność w wbudowanym transporcie HTTP, która pozwala na przekierowanie do niezaufanego hosta i wysłanie poświadczeń do niego. Atakujący kontrolujący zaufany host Git lub otwarte przekierowanie może ujawnić poświadczenia HTTP Basic, tokeny dostępu osobistego lub równoważne poświadczenia.
- CVE-2026-53585Średnie
libgit2 przed wersjami 1.8.6 i 1.9.5 zawiera podatność w funkcji git_delta_apply, która ufa kontrolowanej przez atakującego wartości res_sz, co może prowadzić do nadmiernych alokacji pamięci i wyczerpania pamięci. Złośliwe dane pakietów mogą być dostarczone przez git_clone, git_fetch, git_remote_fetch, git_indexer_append lub lokalne repozytorium.
- CVE-2026-53584Średnie
libgit2 przed wersjami 1.8.6 i 1.9.5 nie odrzuca komponentów przejścia (takich jak ../) w ścieżce submodułu ładowanej z pliku .gitmodules. Złośliwe repozytorium może określić ścieżkę taką jak ../escape-target, a aplikacje inicjalizujące submoduł mogą tworzyć katalogi poza drzewem roboczym repozytorium.
- CVE-2026-53583Średnie
libgit2 przed wersjami 1.8.6 i 1.9.5 zawiera podatność w funkcji verify_server_cert, która używa odwróconego wyniku !!memcmp w gałęzi GEN_IPADD podczas porównywania adresu IP z certyfikatem IP SubjectAltName. Powoduje to odrzucanie pasujących adresów IP i akceptowanie niepasujących, co pozwala atakującemu z certyfikatem zaufanego CA na przechwycenie połączeń do adresów IP.
- CVE-2026-5917Wysokie
libgit2 w wersjach przed 1.8.7 oraz 1.9.0 przed 1.9.7, zbudowany z backendem SSH libssh2 (USE_SSH=libssh2), zawiera podatność na wstrzyknięcie poleceń powłoki. Zdalny atakujący może wykonać dowolne polecenia na serwerze SSH, podając ścieżkę repozytorium zawierającą niescapowane metaznaki powłoki, takie jak pojedyncze cudzysłowy, średniki lub rury. Funkcja gen_proto() w ssh_libssh2.c wstawia ścieżkę repozytorium bezpośrednio do ciągu poleceń powłoki bez escapowania znaków specjalnych przed przekazaniem do libssh2_channel_exec(), co umożliwia atakującemu stworzenie złośliwego adresu URL submodułu w pliku .gitmodules, który podczas rekurencyjnego klonowania powoduje interpretację wstrzykniętych poleceń przez powłokę zdalnego serwera w kontekście konta SSH ofiary.

