Вразливість у Git: виконання довільних команд

Вразливість у Git: виконання довільних команд

Виявлено нову критичну вразливість CVE-2014-9390 в Git, що дозволяє виконати довільні команди на клієнті.


Суть вразливості полягає в можливості здійснити коміт в .Git/config, що рівносильно службовому шляху .git/config на регістронезалежних файлових системах. Це дає можливість ініціювати запуск довільних команд на клієнті. У загальному випадку вразливості схильні робочі станції на Windows і Mac OS X, Linux-системи будуть схильні в разі використання регістронезалежних файлових систем.

Згідно анонсу в розсилці linux-kernel

Раніше ми дозволяли робити комміти в «» .Git/config «», однак на регістронезалежних файлових системах це дозволило б писати в «» .git/config «», що безумовно не є очікуваною поведінкою програми. Відтепер Git забороняє використання «» .Git «» (у будь-якому регістрі) в дорозі.

На Windows певні шляхи також можуть відображатися в .git, наприклад, git á1/config дає доступ до .git/config. Файлова система HFS + також може надати доступ до цього шляху при використанні символів Юнікода, наприклад, .g\u200cit/config. Подібні шляхи відтепер будуть відхилятися Git на потенційно вразливих системах. На інших системах, таких як Linux, можливо навмисно включити подібну поведінку системи для забезпечення кроссплатформенності і загального підвищення рівня безпеки.

Перевірити наявність проблем можна за допомогою git fsck.

Вже вийшли відповідні виправлення:

  • GitHub for Windows и GitHub for Mac
  • Git core team випустила оновлення для всіх підтримуваних версій Git (v1.8.5.6, v1.9.5, v2.0.5, v2.1.4, і v2.2.1).
  • Git for Windows (aka MSysGit) оновився до9.5.
  • Популярні бібліотеки libgit2 і JGit також були оновлені

Цікаво що на GitHub експлуатація вразливості неможлива. Співробітники компанії відразу після появи інформації про бага заборонили нові зловмисні кімити і виконали перевірку всіх існуючих репозиторіїв на предмет наявності в них CVE-2014-9390.

Image