07.11.2020 | Уязвимость в Git LFS позволяет скомпрометировать Windows-системы |
Исследователь безопасности Давид Голунски (Dawid Golunski) обнаружил критическую уязвимость ( CVE-2020-27955 ) в Git Large File Storage (Git LFS) — расширении Git с открытым исходным кодом для управления версиями больших файлов. Ее эксплуатация позволяет злоумышленнику удаленно выполнить код, если он обманом заставит пользователя системы под управлением Windows копировать вредоносный репозиторий с помощью уязвимого инструмента Git. Проблему можно использовать в различных популярных клиентах Git с конфигурациями по умолчанию — GitHub CLI, GitHub Desktop, SmartGit, SourceTree, GitKraken, Visual Studio Code и пр. «Web-приложения/размещенные репозитории, работающие на системе Windows, которые позволяют импортировать свои репозитории с URL-адреса, также могут быть подвержены данной уязвимости», — отметил эксперт. Git LFS не указывает полный путь к двоичному git-файлу при выполнении нового процесса git через конкретную функцию exec.Command(). «Поскольку реализация exec.Command() на системах Windows включает текущий каталог, злоумышленники могут создать бэкдор во вредоносном репозитории, просто добавив исполняемый файл с именем git.bat, git.exe, git.cmd или любым другим расширением, которое используется на системе жертвы. В результате вредоносный двоичный файл git, установленный таким образом, будет выполняться вместо исходного двоичного git-файла, расположенного по доверенному пути», — пояснил Голунски. Голунски выпустил PoC-код для эксплуатации данной уязвимости, а также видео-демонстрацию эксплоита в действии на различных клиентах Git. Уязвимость затрагивает версии Git LFS 2.12 или старше. По словам специалистов Git LFS, для этой проблемы нет другого решения, кроме как избегать ненадежных репозиториев. |
Проверить безопасность сайта