Pięć luk w Git, w tym jedna krytyczna i dwie wysokiego ryzyka

Opublikowano aktualizacje systemu zarządzania wersjami Git 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 i 2.39.4, w których usunięto pięć podatności. Najpoważniejsza z nich (CVE-2024-32002), oznaczona jako krytyczna, umożliwia wykonanie kodu atakującego podczas klonowania repozytorium kontrolowanego przez napastnika za pomocą polecenia „git clone”.

Podatność występuje tylko w systemach plików, które nie rozróżniają wielkości liter i obsługują symlink, na przykład w systemach Windows i macOS domyślnie używanych. Wykorzystywana jest przez utworzenie submodułu katalogu i symlink, które różnią się tylko wielkością liter, co pozwala na zapis plików w katalogu .git/, zamiast w roboczym katalogu submodułu. Zyskując możliwość zapisu w .git/, atakujący może nadpisać wywołania hook poprzez .git/hooks i wykonać dowolny kod podczas operacji „git clone”.

Inne podatności:

  • CVE-2024-32004 — w systemie wieloużytkownikowym atakujący może przygotować specjalnie skonfigurowane lokalne repozytorium i wymusić wykonanie kodu podczas jego klonowania. W szczególności atakujący może stworzyć lokalne repozytorium, które wygląda jak częściowy klon, w którym brakuje określonego obiektu. Klonowanie tego repozytorium spowoduje wykonanie kodu z uprawnieniami użytkownika przeprowadzającego operację klonowania.
  • CVE-2024-32465 — klonowanie z archiwów zip, zawierających pełne repozytorium git, w tym hook-i w katalogu .git/, spowoduje wykonanie tych hook-ów.
  • CVE-2024-32020 — tworzenie lokalnych klonów repozytorium na tym samym dysku w systemie wieloużytkownikowym umożliwia innym użytkownikom zmianę plików, dla których użyto twardych linków.
  • CVE-2024-32021 — klonowanie lokalnego repozytorium z symlinkami może być wykorzystywane do tworzenia twardych linków do dowolnych plików w katalogu objects/.

Oprócz usuwania luk w zabezpieczeniach w nowych wersjach wprowadzono również kilka zmian mających na celu zwiększenie ochrony przed lukami umożliwiającymi zdalne wykonanie kodu oraz manipulującymi dowiązaniami symbolicznymi podczas wykonywania klonowania. Na przykład, git teraz wydaje ostrzeżenie przy obecności dowiązań symbolicznych w katalogu .git/. Ścieżki do podmodułów mogą teraz zawierać tylko rzeczywiste katalogi. W przypadku przecięcia dowiązań symbolicznych i katalogów, przetwarzane są katalogi. Przy wykonywaniu „git clone” dodano ochronę przed wykonywaniem hooków podczas klonowania oraz wzmocniono kontrole parametru core.hooksPath.

Ź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