Pull to refresh

Уязвимость в Git: выполнение произвольных команд

Reading time2 min
Views29K
Обнаружена новая критическая уязвимость 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 эксплуатация уязвимости невозможна. Сотрудники компании сразу после появления информации о баге запретили новые злонамеренные коммиты и выполнили проверку всех существующих репозиториев на предмет наличия в них CVE-2014-9390.
Tags:
Hubs:
+65
Comments79

Articles