Уразливості в Git, що призводить до витоку та перезапису даних

Опубліковані коректуючі випуски розподіленої системи управління вихідними текстами 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 і 2.30.8зв. , що стосуються оптимізації при локальному клонуванні та команду "git apply". Простежити за випуском оновлень пакетів у дистрибутивах можна на сторінках Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Якщо встановити оновлення неможливо, в якості обхідних заходів рекомендується уникати виконання операції «git clone» з опцією «-recurse-submodules» з репозиторіями, що не заслуговують на довіру, а також не використовувати команди «git apply» і «git am» з неперевіреним кодом.

  • Вразливість CVE-2023-22490 дозволяє атакуючому, що контролює вміст клонованого репозиторію, отримати доступ до конфіденційних даних на системі користувача. Появі вразливості сприяють дві недоробки:

    Перша недоробка дозволяє при роботі зі спеціально оформленим репозиторієм домогтися застосування локальних оптимізацій клонування навіть при використанні транспорту, що взаємодіє із зовнішніми системами.

    Друга недоробка допускає розміщення символічного посилання замість каталогу $GIT_DIR/objects за аналогією з вразливістю CVE-2022-39253, у виправленні якої блокувалося розміщення символічних посилань у каталозі $GIT_DIR/objects, але не перевірявся факт того, що сам каталог $GIT_DIR/object може бути символічним посиланням.

    У режимі локального клонування git переносить $GIT_DIR/objects в цільовий каталог, виконуючи розіменування символічних посилань, що призводить до того, що цільовий каталог копіюються безпосередньо файли, на які вказують посилання. Перемикання на застосування локальних оптимізації клонування для нелокального транспорту дозволяє експлуатувати вразливість під час роботи із зовнішніми репозиторіями (наприклад, рекурсивне включення субмодулів командою «git clone —recurse-submodules» може призвести до клонування шкідливого репозиторію, упакованого у формі субмодуля в іншому репозиторію).

  • Вразливість CVE-2023-23946 дозволяє перезаписати вміст файлів поза робочим каталогом через передачу спеціально оформленого введення в команду "git apply". Наприклад, атака може бути здійснена при обробці в git apply підготовлених зловмисником патчів. Для блокування створення патчами файлів поза робочою копією, git apply блокує обробку патчів, які намагаються записати файл з використанням символічних посилань. Але цей захист можна обійти, створивши символічне посилання в першу чергу.

Джерело: opennet.ru

Додати коментар або відгук