Опасная уязвимость во всех версиях git

Доступна информация о наличии удалённо эксплуатируемых уязвимостей (CVE-2016-2324 и CVE-2016‑2315) в Git, которые потенциально затрагивают такие системы, как Github, Bitbucket, Gerrit и Gitlab.

Проблемы проявляются как на стороне сервера, так и на стороне клиента, и могут привести к выполнению кода атакующего, имеющего доступ к Git-репозиторию. Эксплуатация сводится к инициированию переполнения буфера при выполнении операции push или clone в репозитории, содержащем файл со слишком длинным именем или большим числом вложенных деревьев.

Две ошибки, приводящие к проблемам, содержатся в функции под названием path_name(), которая используется для добавления имени файла к концу пути в дереве репозитория. Путь и название файла могут быть использованы злоумышленником для запуска зловредного кода — для осуществления успешной атаки необходимо преодолеть различные средства защиты, вроде ASLR, но сделать это можно.

Атака может быть совершена на клиента, выполняющего операцию «clone» с сервера, на который могут вносить изменения злоумышленники. Сервер может быть атакован в случае доступа злоумышленников к выполнению команды push (например, публичные git-хостинги). Прототип эксплоита пока не продемонстрирован, возможность его создания обсуждается.