Podatność w libgit2 przed wersjami 0.28.4 i 0.99.0 umożliwia zdalne wykonanie kodu (RCE) podczas klonowania repozytorium. Problem wynika z nieprawidłowej obsługi równoważnych nazw plików powstających wskutek stosowania krótkich nazw NTFS (tzw. 8.3 names).
▸ Pokaż oryginał (EN)
An issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0. checkout.c mishandles equivalent filenames that exist because of NTFS short names. This may allow remote code execution when cloning a repository. This issue is similar to CVE-2019-1353.
Plik checkout.c w libgit2 nie radzi sobie poprawnie z sytuacją, w której system plików NTFS traktuje różne ścieżki jako równoważne za sprawą mechanizmu krótkich nazw (np. 'PROGRA~1' jako odpowiednik 'Program Files'). Atakujący może spreparować złośliwe repozytorium Git zawierające pliki o takich kolizyjnych nazwach. Gdy ofiara sklonuje takie repozytorium przy użyciu biblioteki libgit2, błędna obsługa nazw może doprowadzić do nadpisania lub podstawienia pliku wykonywalnego, co skutkuje wykonaniem kodu atakującego. Podatność jest podobna w naturze do wcześniej ujawnionej luki CVE-2019-1353.
Atakujący może doprowadzić do zdalnego wykonania dowolnego kodu (RCE) na maszynie ofiary, co potencjalnie pozwala na pełne przejęcie kontroli nad systemem, naruszenie poufności, integralności i dostępności danych.
Należy zaktualizować libgit2 do wersji 0.28.4 lub 0.99.0 (albo nowszych). Poprawka dostępna jest w oficjalnych wydaniach projektu libgit2 na GitHub. Użytkownicy Debian Linux powinni zastosować aktualizacje pakietów zgodnie z komunikatem Debian LTS z marca 2022 r.
libgit2 w wersjach przed 0.28.4 oraz wersjach 0.9x przed 0.99.0; systemy Debian Linux korzystające z podatnych pakietów libgit2
Podatność jest konstrukcyjnie podobna do CVE-2019-1353, co wskazano wprost w opisie oryginalnym. Poprawka została wdrożona w commitcie 64c612cc3e25eff5fb02c59ef5a66ba7a14751e4 w repozytorium libgit2.
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