Репост из: Information Hardening
#приклад #exploit #обновления
Почему пора обновить Git?
RCE в Git. Не то, чтобы ща прям всех заэксплойтят: чтобы ее триггернуть, нужно подгружать подмодули (submodules) проектов. Ну а для эксплуатации нужно создать проект с вредоносными submodules. Немного подделки путей, полезная нагрузка пойдет в виде простого, скажем Bash, скрипта. Вот тут очень подробно объясняется, как это сделать: https://staaldraad.github.io/post/2018-06-03-cve-2018-11235-git-rce/.
Патчи добавлены в версиях 2.17.1, 2.16.4, 2.15.2, 2.14.4, 2.13.7. Клиентскую сторону достаточно просто пропатчить. А на серверной появляется опция transfer.fsckObjects, блокирующая работу с вредоносными submodules. По дефолту она отключена, так что надо активировать.
Проверить уязвимость своей версии можно очень просто, во временной директории выполнить:
git init test && cd test && git update-index --add --cacheinfo 120000,e69de29bb2d1d6434b8b29ae775ad8c2e48c5391,.gitmodules
"Хороший" ответ от пропатченной версии:
error: Invalid path '.gitmodules'
fatal: git update-index: --cacheinfo cannot add .gitmodules
Почему пора обновить Git?
RCE в Git. Не то, чтобы ща прям всех заэксплойтят: чтобы ее триггернуть, нужно подгружать подмодули (submodules) проектов. Ну а для эксплуатации нужно создать проект с вредоносными submodules. Немного подделки путей, полезная нагрузка пойдет в виде простого, скажем Bash, скрипта. Вот тут очень подробно объясняется, как это сделать: https://staaldraad.github.io/post/2018-06-03-cve-2018-11235-git-rce/.
Патчи добавлены в версиях 2.17.1, 2.16.4, 2.15.2, 2.14.4, 2.13.7. Клиентскую сторону достаточно просто пропатчить. А на серверной появляется опция transfer.fsckObjects, блокирующая работу с вредоносными submodules. По дефолту она отключена, так что надо активировать.
Проверить уязвимость своей версии можно очень просто, во временной директории выполнить:
git init test && cd test && git update-index --add --cacheinfo 120000,e69de29bb2d1d6434b8b29ae775ad8c2e48c5391,.gitmodules
"Хороший" ответ от пропатченной версии:
error: Invalid path '.gitmodules'
fatal: git update-index: --cacheinfo cannot add .gitmodules