Виявлено нову критичну вразливість 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.