
Демонстрирует CVE-2021-21300 - выполнение произвольного кода через вредоносные хуки Git на файловых системах без учета регистра, включая шаги эксплуатации и меры защиты.
CVE-2021-21300 — это критическая уязвимость в Git (версии 2.14.2–2.30.1), которая позволяет злоумышленникам выполнять произвольный код на компьютерах жертв посредством символических ссылок и регистронезависимых файловых систем.
A/post-checkout как .git/hooks/post-checkout.Git позволяет пользовательские хуки, хранящиеся в .git/hooks/. В регистронезависимых файловых системах:
A/post-checkout может быть интерпретирована как .git/hooks/post-checkout.A/ на .git/hooks/, обходя ограничения.A и файл A/post-checkout, содержащий вредоносные команды.A символической ссылкой на .git/hooks/.A/post-checkout, на самом деле запускается вредоносный файл из .git/hooks/..git/hooks/..gitattributes, чтобы запустить обработку A/post-checkout через LFS.A/post-checkout (например, выводящий "PWNED").A/a и A/b, чтобы репозиторий выглядел легитимно.A/ символической ссылкой на .git/hooks/.git clone -c core.symlinks=true
git config --system core.symlinks true
##💡 Другие возможные меры защиты
Автоматизируйте безопасное клонирование с помощью алиаса Git
Создайте каталог.
Включите учёт регистра (Windows):
fsutil file setcasesensitiveinfo <DESTINATION FOLDER> enable
Клонируйте в этот каталог.
Создайте алиас Git для автоматизации этих шагов с целью более безопасного клонирования.