
Этот репозиторий содержит PoC для эксплуатации CVE-2024-32002 — уязвимости в Git, которая позволяет удалённое выполнение кода (RCE) во время операции git clone. Создавая репозитории с подмодулями определённым образом, атакующий может воспользоваться обработкой символьных ссылок (symlink) в регистронезависимых файловых системах, чтобы записать файлы в каталог .git/, что приводит к выполнению вредоносных хуков.
git cloneЭтот репозиторий содержит PoC для эксплуатации CVE-2024-32002 — уязвимости в Git, которая позволяет выполнить произвольный код (RCE) во время операции git clone. Создавая репозитории с субмодулями особым образом, атакующий может воспользоваться обработкой символических ссылок в регистронезависимых файловых системах, чтобы записать файлы в каталог .git/, что приводит к выполнению вредоносных хуков.
Примечание: Этот PoC работает только в системах Windows или Mac.
Подробное объяснение реверс-инжиниринга этого эксплойта см. в статье в блоге: https://amalmurali.me/posts/git-rce.
git_rce) включает субмодуль с особым образом сформированным путём..git/git_rce/ (этот репозиторий): Основной репозиторий, содержащий субмодуль.amalmurali47/hook: Репозиторий субмодуля, содержащий вредоносный хук.⚠️ Предупреждение: Не запускайте этот PoC на системах, которыми вы не владеете или для использования которых у вас нет явного разрешения. Несанкционированное тестирование может привести к непредвиденным последствиям.
git clone --recursive [email protected]:amalmurali47/git_rce.git
Примечание: В Windows для этого может потребоваться запустить оболочку от имени администратора.


Скрипт, использованный для создания PoC, включён в этот репозиторий под именем create_poc.sh. Инструкции по настройке PoC в репозитории GitHub включены в статью в блоге.
Этот репозиторий предназначен только для образовательных целей. Информация, представленная здесь, призвана помочь разработчикам понять уязвимость и защитить свои системы. Не используйте этот эксплойт в злонамеренных целях или без разрешения. Использование этого PoC осуществляется на ваш собственный риск. Автор не несёт ответственности за любой ущерб или юридические проблемы, которые могут возникнуть в результате использования этой информации.
Благодарность filip-hejsek за обнаружение этой уязвимости.
Этот проект лицензирован по лицензии MIT.