Выпуск Git 2.4.11, 2.5.5 и 2.6.6 и 2.7.4 с устранением критических уязвимостей

Представлены корректирующие выпуски всех поддерживаемых веток системы управления исходными текстами Git 2.4.11, 2.5.5 и 2.6.6 и 2.7.4, в которых устранены критические уязвимости (CVE-2016–2324 и CVE-2016‑2315), позволяющие атакующему, имеющему доступ к Git-репозиторию, организовать выполнение своего кода на стороне клиента или сервера.

Информация об уязвимостях была раскрыта несколько дней назад, при этом выявивший уязвимость разработчик был уверен, что уязвимости были устранены в начале февраля в выпуске 2.7.1. На деле, оказалось, что патчи (1, 2) были приняты только в ветку master, на основе которой формируется ветка 2.8, но исправления забыли включить в релиз 2.7.1 и проблема осталась не исправленной, что поставило под угрозу Git-хостинги, такие как Github и Bitbucket, а также публичные Git-репозитории на базе Gerrit и Gitlab. Около месяца исправления оставались на виду, что давало возможность злоумышленникам оценить связанную с ними угрозу безопасности и разработать рабочий эксплоит.

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

© OpenNet