• XSS.stack #1 – первый литературный журнал от юзеров форума

Критическая уязвимость в Git LFS, проявляющаяся на платформе Windows

INC.

REVERSE SIDE OF THE MEDAL
Эксперт
Регистрация
02.02.2008
Сообщения
3 950
Реакции
1 872
В Git LFS выявлена критическая уязвимость (CVE-2020-27955), позволяющая удалённому злоумышленнику выполнить свой код в системе жертвы, при клонировании жертвой специально оформленного репозитория. Проблема проявляется только на платформе Windows и устранена в предложенном несколько часов назад обновлении git-lfs 2.12.1. На Unix системах уязвимость не проявляется.

Проблема вызвана тем, что на платформе Windows для запуска нового процесса git используется вызов ExecCommand(), но не указывается полный путь к исполняемому файлу git. Если полный путь не указан, то функция ExecCommand() проверяет наличие исполняемого файла в текущем каталоге. Так как запуск осуществляется в контексте текущего репозитория, атакующий может разместить в своём репозитории файлы git.bat, git.exe или git.cmd. После клонирования репозитория подставленные злоумышленником файлы будут выполнены вместо исполняемого файла git при выполнении операций с git-lfs.

Для проверки своих систем подготовлен рабочий эксплоит. Возможность эксплуатации уязвимости протестирована в пакете Git с дополнением git-lfs, а также в Git-клиентах Git for Windows, GitHub CLI, GitHub Desktop, SourceTree, Visual Studio Code, GitKraken и SmartGit, использующих Git LFS в конфигурации по умолчанию. Проблема также потенциально затрагивает интегрированные среды разработки Eclipse, fork, tig, GitExtensions, Magit, TortoiseGit, gmaster, GitAhead, Sublime Merge, Visual Studio, GitAtomic, Tower и git-cola.

Напомним, что дополнение Git LFS (Git Large File Storage) развивается компанией GitHub и позволяет использовать Git для отслеживания версий больших файлов, содержащих наборы данных, звук, видео и графику. В штатном Git-репозитории большие файлы заменяются на текстовые ссылки, указывающие на контент в отдельном внешнем репозитории, что позволяет избежать повторного копирования файлов при клонировании и извлечении репозитория. При выполнении операций checkout большие файлы не загружаются вместе с остальными данными, а синхронизируются с сервера и хранятся в единственной копии. Код распространяется под лицензией MIT.


• Source: https://legalhackers.com/advisories/Git-LFS-RCE-Exploit-CVE-2020-27955.html

• Source: https://exploitbox.io/vuln/Git-Git-LFS-RCE-Exploit-CVE-2020-27955.html

• Exploit: https://www.openwall.com/lists/oss-security/2020/11/05/1

 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх