+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Користувачам Windows рекомендується терміново оновити версію Git

Користувачам Windows рекомендується терміново оновити версію Git

Опубліковано коригуючі випуски розподіленої системи управління вихідними текстами Git 2.24.1, 2.23.1, 2.22.2, 2.21.1, 2.20.2, 2.19.3, 2.18.2, 2.17.3, 2.1.6. 4 і 2.14.62.24.1, у яких усунуті вразливості, що дозволяють атакуючому переписати довільні шляхи у файловій системі, організувати віддалений запуск коду або перезаписати файли в каталозі ".git/". Більшість проблем виявлено співробітниками Microsoft Security Response Center, п'ять із восьми вразливостей специфічні для платформи Windows.

  • CVE-2019-1348 - потокова команда "feature export-marks=path"дозволяє записати мітки в довільні каталоги, що може використовуватися для перезапису довільних шляхів у ФС при виконанні операції "git fast-import" з неперевіреними вхідними даними.< /li>
  • CVE-2019-1350 - некоректне екранування аргументів командного рядка могло призвести до віддаленого виконання коду атакуючого при рекурсивному клонуванні з використанням URL ssh://. Зокрема, некоректно оброблялося екранування аргументів, що закінчуються на зворотний сліш (наприклад, "test"). У цьому випадку при обрамленні аргументу подвійними лапками остання лапка виявлялася екранованою, що дозволяло організувати підстановку своїх опцій у командному рядку.
  • CVE-2019-1349 - при рекурсивному клонуванні субмодулів ("clone --recurse-submodules") в оточенні Windows за певних умов можна було ініціювати використання одного git-каталогу двічі (.git, git~1, git~2 і git~N в NTFS розпізнається як один каталог, але ця ситуація перевірялася тільки для git~1), що могло застосовуватися для організації запису в каталог ".git". Для організації виконання свого коду атакуючий, наприклад, може підставити свій скрипт через обробник post-checkout у файлі .git/config.
  • CVE-2019-1351 - обробник буквених імен дисків у шляхах Windows при трансляції шляхів типу "C:\" був розрахований тільки на заміну однобуквенних латинських ідентифікаторів, але не враховував можливість створення віртуальних дисків, що призначаються через "subst буква: . Такі шляхи оброблялися не як абсолютні, а як відносні шляхи, що дозволяло при клонуванні шкідливого репозиторію організувати запис у довільний каталог поза робочим деревом каталогів (наприклад, при використанні цифр або unicode-символів у назві диска - "1:\what\the\" hex.txt" або "ä:\tschibät.sch").
  • CVE-2019-1352 - при роботі на платформі Windows застосування альтернативних потоків даних у NTFS, створюваних через додавання ознаки ":stream-name:stream-type" до імені файлу, дозволяло перезаписати файли в каталозі ".git/" при клонуванні шкідливого репозиторію. Наприклад, ім'я ".git::$INDEX_ALLOCATION" в NTFS оброблялося як коректне посилання на каталог ".git".
  • CVE-2019-1353 - при використанні Git в оточенні WSL (Windows Subsystem for Linux) при зверненні до робочого каталогу не застосовувався захист від маніпуляції іменами в NTFS (були можливі атаки через трансляцію імен FAT, наприклад, до ".git" можна було звернутися через каталог "git~1").
  • CVE-2019-1354 - можливість запису в каталог ".git/" на платформі Windows при клонуванні шкідливих репозиторіїв, що містять файли зі зворотним слішем в імені (наприклад, "a\b"), який допустимо в Unix/Linux, але сприймається як частина шляху до Windows.
  • CVE-2019-1387 - недостатня перевірка імен субмодулів могла використовуватися для організації цільових атак, які при рекурсивному клонуванні потенційно могли привести до виконання коду атакуючого. Git не забороняв створювати каталог субмодуля в каталозі іншого субмодуля, що в більшості випадків лише може призвести до збентеження, але потенційно не виключає перезапис вмісту іншого модуля в процесі рекурсивного клонування (наприклад, каталоги субмодулів "hippo" і "hippo/hooks" розміщуються як " .git/modules/hippo/" і ".git/modules/hippo/hooks/", а каталог hooks в hippo може окремо використовуватися для розміщення обробників, що запускаються.

Користувачам Windows рекомендується терміново оновити версію Git, а до оновлення утриматися від клонування неперевірених репозиторіїв. Якщо можливості терміново оновити версію Git поки що немає, то для зниження ризику атаки рекомендується не запускати "git" clone --recurse-submodules" та "git submodule update" з неперевіреними репозиторіями, не використовувати "git fast-import" з неперевіреними вхідними потоками та не клонувати репозиторії у розділи на базі NTFS.

Для додаткового захисту у нових випусках також заборонено використання у .gitmodules конструкцій у формі "submodule.{name}.update=!command". Для дистрибутивів простежити за випуском оновлень пакетів можна на сторінках Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, ALT, Free BSD.

Інші новини