Luki w Git, które prowadzą do wycieku i nadpisania danych

Opublikowano wydania korygujące rozproszonego systemu kontroli źródła Git 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 i 2.30.8, które naprawiają dwie luki wpływające na optymalizacje klonowania lokalnego i polecenia „git Apply”. Możesz śledzić wydawanie aktualizacji pakietów w dystrybucjach na stronach Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Jeżeli zainstalowanie aktualizacji nie jest możliwe, jako obejście zaleca się unikanie wykonywania operacji „git clone” z opcją „--recurse-submodules” na niezaufanych repozytoriach oraz unikanie używania „git Apply” i „ git am” w niezaufanych repozytoriach. code.

  • Luka CVE-2023-22490 umożliwia osobie atakującej kontrolującej zawartość sklonowanego repozytorium uzyskanie dostępu do wrażliwych danych w systemie użytkownika. Do pojawienia się podatności przyczyniają się dwie wady:

    Pierwsza wada pozwala podczas pracy ze specjalnie zaprojektowanym repozytorium osiągnąć wykorzystanie optymalizacji lokalnego klonowania nawet przy korzystaniu z transportu współpracującego z systemami zewnętrznymi.

    Druga luka pozwala na umieszczenie dowiązania symbolicznego zamiast katalogu $GIT_DIR/objects, podobnie jak luka CVE-2022-39253, której poprawka blokowała umieszczanie dowiązań symbolicznych w katalogu $GIT_DIR/objects, ale nie sprawdź, czy sam katalog $GIT_DIR/objects może być dowiązaniem symbolicznym.

    W trybie klonowania lokalnego git przenosi $GIT_DIR/objects do katalogu docelowego poprzez wyłuskiwanie dowiązań symbolicznych, co powoduje, że pliki, do których istnieją bezpośrednie odniesienia, są kopiowane do katalogu docelowego. Przejście na optymalizację klonowania lokalnego dla transportu nielokalnego umożliwia wykorzystanie luk w zabezpieczeniach podczas pracy z repozytoriami zewnętrznymi (na przykład rekurencyjne dołączanie podmodułów za pomocą polecenia „git clone —recurse-submodules” może prowadzić do klonowania złośliwego repozytorium spakowanego jako podmoduł w innym repozytorium).

  • Luka CVE-2023-23946 umożliwia nadpisanie zawartości plików znajdujących się poza katalogiem roboczym poprzez przekazanie specjalnie spreparowanych danych wejściowych do polecenia „git Apply”. Przykładowo atak może zostać przeprowadzony podczas przetwarzania łatek przygotowanych przez atakującego w „git Apply”. Aby uniemożliwić łatom tworzenie plików poza kopią roboczą, „git Apply” blokuje przetwarzanie łatek, które próbują zapisać plik przy użyciu dowiązań symbolicznych. Okazuje się jednak, że tę ochronę można ominąć, tworząc w pierwszej kolejności dowiązanie symboliczne.

Źródło: opennet.ru

Dodaj komentarz