CRITICAL🇬🇧 English

CVE-2020-12279

RCE w libgit2 — błędna obsługa krótkich nazw NTFS przy klonowaniu

CVSS 9.8v3.1pub. 2020-04-27upd. 2024-11-21

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.

🤖 Analiza AI
Jak działa

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.

Skutki

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.

Mitygacja

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.

Kogo dotyczy

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

Uwagi

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 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Debian

    OS
    Debian
    9.0
  • Libgit2

    APP
    Libgit2
    < 0.28.4
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCE
CWE
Referencje

Powiązane podatności

CVE-2026-24061CRITICAL9.8⚠ KEVPL ✓ten sam produkt

GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER

CVE-2025-32463CRITICAL9.3⚠ KEVPL ✓ten sam produkt

Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)

CVE-2025-49113CRITICAL9.9⚠ KEVPL ✓ten sam produkt

RCE przez deserializację PHP w Roundcube Webmail (parametr _from)

CVE-2025-32433CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)

CVE-2025-24201CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki