Biblioteka libgit2 przed wersjami 0.28.4 i 0.99.0 nieprawidłowo obsługuje równoważne nazwy plików wynikające z mechanizmu NTFS Alternate Data Streams. Podatność może umożliwić zdalne wykonanie kodu podczas klonowania złośliwie przygotowanego repozytorium Git.
▸ Pokaż oryginał (EN)
An issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0. path.c mishandles equivalent filenames that exist because of NTFS Alternate Data Streams. This may allow remote code execution when cloning a repository. This issue is similar to CVE-2019-1352.
Plik path.c w libgit2 nie rozróżnia poprawnie nazw plików, które są funkcjonalnie równoważne ze względu na obecność NTFS Alternate Data Streams. Atakujący może przygotować specjalnie spreparowane repozytorium Git zawierające pliki o takich nazwach. Gdy ofiara sklonuje takie repozytorium za pomocą aplikacji korzystającej z libgit2, biblioteka może zapisać dane w nieoczekiwanych lokalizacjach systemu plików — co w konsekwencji może prowadzić do zdalnego wykonania kodu.
Atakujący może doprowadzić do zdalnego wykonania kodu (RCE) na maszynie ofiary, co daje pełną kontrolę nad poufnością, integralnością i dostępnością systemu.
Należy zaktualizować libgit2 do wersji 0.28.4 lub 0.99.0. Patche dostępne są w oficjalnym repozytorium libgit2 (commity 3f7851e oraz e1832eb) oraz jako wydania tagowane v0.28.4 i v0.99.0 na GitHub.
libgit2 w wersjach przed 0.28.4 oraz w wersjach 0.9x przed 0.99.0; dotknięte są również dystrybucje Debian Linux zawierające podatne wersje biblioteki
Podatność jest podobna do CVE-2019-1352, który dotyczył analogicznego problemu z obsługą NTFS Alternate Data Streams w kliencie Git.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDebian
OSDebian9.0Libgit2
APPLibgit2< 0.28.4
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki