Wykryto dwie luki w Git prowadzące do wycieku i nadpisania danych

wrażliwość

Jeśli zostaną wykorzystane, te luki mogą umożliwić atakującym uzyskanie nieautoryzowanego dostępu do poufnych informacji lub ogólnie spowodować problemy

Ostatnio ogłoszono publikację różnych wersji korygujących rozproszony system kontroli źródła Git od wersji 2.38.4 do wersji 2.30.8, zawierające dwie poprawki usuwające znane luki w zabezpieczeniach mające wpływ na lokalne optymalizacje klonowania oraz polecenie „git apply”.

W związku z tym wspomniano, że te wydania konserwacyjne mają rozwiązać dwa problemy związane z bezpieczeństwem zidentyfikowane pod CVE-2023-22490 i CVE-2023-23946. Obie luki dotyczą istniejących zakresów wersji, a użytkowników zdecydowanie zachęca się do odpowiedniej aktualizacji.

Osoba atakująca może zdalnie wykorzystać lukę w celu wykrycia informacji. Atakujący też może
lokalnie wykorzystać lukę w celu manipulowania plikami.

Do wykorzystania luk wymagane są zwykłe uprawnienia. Obie luki wymagają interakcji użytkownika.

Pierwszą zidentyfikowaną luką jest CVE-2023-22490, który umożliwia atakującemu, który kontroluje zawartość sklonowanego repozytorium, uzyskanie dostępu do wrażliwych danych w systemie użytkownika. Na lukę składają się dwie wady:

  • Pierwsza wada pozwala, podczas pracy z specjalnie zbudowanym repozytorium, osiągnąć wykorzystanie lokalnych optymalizacji klonowania nawet przy użyciu transportu, który współdziała z systemami zewnętrznymi.
  • Druga wada umożliwia umieszczenie dowiązania symbolicznego zamiast katalogu $GIT_DIR/objects, podobnie jak luka CVE-2022-39253, która blokowała umieszczanie dowiązań symbolicznych w katalogu $GIT_DIR/objects, ale fakt, że $GIT_DIR/objects sam katalog nie został sprawdzony, może być dowiązaniem symbolicznym.

W lokalnym trybie klonowania git przenosi $GIT_DIR/objects do katalogu docelowego przez dereferencję dowiązań symbolicznych, powodując skopiowanie plików, do których się odwołuje, bezpośrednio do katalogu docelowego. Przełączenie na używanie lokalnych optymalizacji klonowania dla transportu nielokalnego umożliwia wykorzystanie luki podczas pracy z zewnętrznymi repozytoriami (na przykład rekurencyjne włączenie submodułów za pomocą polecenia „git clone --recurse-submodules” może doprowadzić do sklonowania złośliwego repozytorium spakowany jako submoduł w innym repozytorium).

Korzystając ze specjalnie spreparowanego repozytorium, Git można oszukać jego lokalna optymalizacja klonowania, nawet w przypadku korzystania z transportu innego niż lokalny.
Chociaż Git anuluje lokalne klony, których źródłem jest $GIT_DIR/objects katalog zawiera dowiązania symboliczne (por. CVE-2022-39253), obiekty sam katalog nadal może być dowiązaniem symbolicznym.

Te dwa elementy można łączyć w celu uwzględnienia dowolnych plików opartych na ścieżki w systemie plików ofiary w złośliwym repozytorium oraz plik kopię roboczą, umożliwiającą eksfiltrację danych podobną do
CVE-2022-39253.

Druga wykryta luka to CVE-2023-23946 i pozwala to na nadpisanie zawartości plików poza katalogiem praca poprzez przekazanie specjalnie sformatowanego wejścia do polecenia „git apply”.

Na przykład atak można przeprowadzić, gdy łatki przygotowane przez atakującego są przetwarzane 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. Okazało się jednak, że tę ochronę można było obejść, tworząc w pierwszej kolejności dowiązanie symboliczne.

Fedora 36 i 37 mają aktualizacje bezpieczeństwa w stanie „testowania”. które aktualizują „git” do wersji 2.39.2.

Luki w zabezpieczeniach też są odnoszą się do GitLab 15.8.2, 15.7.7 i 15.6.8 w Community Edition (CE) i Enterprise Edition (EE).

GitLab klasyfikuje luki jako krytyczne, ponieważ CVE-2023-23946 umożliwia wykonanie dowolnego kodu programu w środowisku Gitaly (usługa Git RPC).
W tym samym czasie będzie osadzony Python Zaktualizuj do wersji 3.9.16, aby naprawić więcej luk.

W końcu Dla tych, którzy chcą wiedzieć więcej na ten temat, możesz śledzić wydawanie aktualizacji pakietów w dystrybucjach na stronach DebianUbuntuRHELSUSE/openSUSEFedorałukFreeBSD.

Jeśli instalacja aktualizacji nie jest możliwa, jako obejście zalecane jest unikanie uruchamiania „git clone” z opcją „–recurse-submodules” na niezaufanych repozytoriach oraz nieużywanie poleceń „git apply” i „git am” z niezweryfikowanym kodem.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.