В Git-репозитории проекта PHP выявлены вредоносные изменения


Разработчики проекта PHP предупредили о компрометации Git-репозитория проекта и обнаружении двух вредоносных коммитов, добавленных 28 марта в репозиторий php-src от имени Расмуса Лердорфа, основателя PHP, и Никиты Попова, одного из ключевых разработчиков PHP.

Так как нет уверенности в надёжности сервера, на котором был размещён Git-репозиторий, разработчики решили, что поддержание своими силами Git-инфраструктуры создаёт дополнительные риски безопасности и перенесли эталонный репозиторий на платформу GitHub, которую предлагается использовать в качестве первичной. Все изменения отныне следует отправлять на GitHub, а не на git.php.net, в том числе при разработке теперь можно использовать web-интерфейс GitHub.

В первом вредоносном коммите под видом исправления опечатки в файле ext/zlib/zlib.c было внесено изменение, запускающее PHP-код, переданный в HTTP-заголовке User Agent, если содержимое начинается со слова "zerodium". После того как разработчики заметили вредоносное изменение и отменили его, в репозитории появился второй коммит, который отменял действие разработчиков PHP в возвращал вредоносное изменение.

В добавленном коде присутствует строка "REMOVETHIS: sold to zerodium, mid 2017", которая может намекать, что с 2017 года в коде находится другое, качественно закамуфлированное, вредоносное изменение, или неисправленная уязвимость, проданная компании Zerodium, занимающейся скупкой 0-day уязвимостей (компания Zerodium ответила, что не покупала сведения об уязвимости в PHP).

В настоящее время пока нет детальной информации об инциденте, предполагается лишь, что изменения были добавлены в результате взлома сервера git.php.net, а не компрометации отдельных учётных записи разработчиков. Начался анализ репозитория на наличие других вредоносных изменений помимо выявленных проблем. К рецензированию приглашаются все желающие, при обнаружении подозрительных изменений следует отправить информацию на security@php.net.

Что касается перехода на GitHub, то для получения доступа на запись к новому репозиторию участникам разработки необходимо войти в состав организации PHP. Тем, кто не включён в число разработчиков PHP на GitHub, следует связаться с Никитой Поповым по email nikic@php.net. Для добавления обязательным требованием является включение двухфакторной аутентификации. После получения надлежащих прав для смены репозитория достаточно выполнить команду "git remote set-url origin git@github.com:php/php-src.git". Дополнительно рассматривается вопрос о переходе к обязательному заверению коммитов цифровой подписью разработчика. Также предлагается запретить прямое добавление изменений, не прошедших предварительного рецензирования.

Источник: https://www.opennet.ru/opennews/art.shtml?num=54858


Comments 0