Luki w Git, prowadzące do wycieku i nadpisania danych

Opublikowano poprawki do rozproszonego systemu zarządzania kodem źródłowym Git w wersjach 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, w których usunięto dwie podatności dotyczące optymalizacji przy lokalnym klonowaniu oraz polecenia „git apply”. Śledzenie wydania aktualizacji pakietów w dystrybucjach można znaleźć na stronach Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Jeśli zainstalowanie aktualizacji nie jest możliwe, jako obejście zaleca się unikanie wykonywania operacji „git clone” z opcją „—recurse-submodules” z repozytoriami, którym nie można zaufać, a także nie korzystanie z poleceń „git apply” i „git am” z niezweryfikowanym kodem.

  • Podatność CVE-2023-22490 umożliwia atakującemu, który kontroluje zawartość klonowanego repozytorium, uzyskanie dostępu do poufnych danych na systemie użytkownika. Pojawienie się podatności jest powodowane przez dwie niedoróbki:

    Pierwsza niedoróbka pozwala przy pracy ze specjalnie skonstruowanym repozytorium uzyskać lokalne optymalizacje klonowania, nawet przy użyciu transportu współdziałającego z zewnętrznymi systemami.

    Druga niedoróbka pozwala na umieszczanie symbolicznych linków zamiast katalogu $GIT_DIR/objects, podobnie jak w podatności CVE-2022-39253, gdzie blokowano umieszczanie symbolicznych linków w katalogu $GIT_DIR/objects, ale nie sprawdzano, czy sam katalog $GIT_DIR/objects może być symbolicznym linkiem.

    W trybie lokalnego klonowania git przenosi $GIT_DIR/objects do docelowego katalogu, dokonując dereferencji symbolicznych linków, co prowadzi do kopiowania do docelowego katalogu bezpośrednich plików, na które wskazują linki. Przełączanie na zastosowanie lokalnych optymalizacji klonowania dla nielokalnego transportu pozwala na wykorzystanie podatności podczas pracy z zewnętrznymi repozytoriami (na przykład rekurencyjne włączenie submodułów za pomocą polecenia „git clone —recurse-submodules” może prowadzić do sklonowania złośliwego repozytorium, zapakowanego w formie submodułu w innym repozytorium).

  • Luka CVE-2023-23946 umożliwia nadpisanie zawartości plików poza katalogiem roboczym poprzez przesyłanie specjalnie sformatowanego wejścia do polecenia „git apply”. Na przykład, atak może być przeprowadzony przy przetwarzaniu przygotowanych przez złośliwego użytkownika poprawek w „git apply”. Aby zablokować tworzenie plików przez poprawki poza kopią roboczą, „git apply” blokuje przetwarzanie poprawek, które próbują zapisać plik z użyciem linków symbolicznych. Jednak tę ochronę można obejść, tworząc link symboliczny najpierw.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster