Вчера злоумышленники попытались скомпрометировать репозиторий исходного кода PHP и добавить бэкдор.
Подозрительный комит был обнаружен программистом Michael Vorisek , который обратил внимание на подозрительный фрагмент кода.
Добавленный код должен был позволить осуществить атаку типа RCE путем вызова функции zend-eval-string
при получении HTTP заголовка с подстрокой zerodium
Сегодня Никита Попов подтвердил, что попытка компрометации и встраивания бэкдора была устранена. Так же Никита уточняет, что его учетная запись не была скомпрометирована, а атаке подвергся непосредственно сервер репозитория.
В связи с произошедшим инцидентом, команда PHP планирует полностью перейти на GitHub для разработки.
DrMefistO
А сейчас они на какой системе контроля? И почему коммит теперь является атакой? Хочешь мержи, хотешь — не мержи.
Также, ни слова в новости о том, кто этот коммит сделал.
Забавно, что прям в коммите указано zerodium. Это на что нужно расчитывать, чтобы смержить.
dzsysop Автор
Насколько я понимаю коммит был сделат от имени Расмуса Лердорфа, но не из под его учетной записи. Посколько команда РНР не работает полностью в ГитХабе, а, я так понимаю, зеркалирует на гитхаб из своего репозитория, то на гитхабе мы видим его аккаунт как контрибьютора, но это скорее всего глюк синхронизации с основным репозиторием.
Комит является атакой, поскольку он уже «прошел» и «замержился» и уже потом всплыл на ГитХабе, где его и «поймал» чешский программист.
Если в период с момента появления комита, кто-то загрузил себе исходники и скомпилил их, то он возможно получил бэкдор в свой PHP. Просто в мире не так много разработчиков, которые компилируют рнр из исходников. Часто они берут уже готовые бинарники, а бинарники в свою очередь поставщики компилят тоже не каждый день, а только
по-праздникампри выходе новых релизов и/или важных патчей. Поэтому да, ущерб был нанесен минимальный, но если бы уязвимость вовремя не обнаружили, последствия могли быть весьма плачевными.Данную атаку нужно также рассматривать как атаку на цепочку поставок. И своевременное обнаружение в данном случае показало прореху в безопасности используемого ПО репозитория, на что и обращает внимание Никита, говоря о том что команда перейдет на использование более безопасного GitHub.
Temtaime
На гитхабе можно коммитить от имени кого угодно.
habr.com/ru/post/515550
Aldrog
Главное, что нельзя пушить куда угодно.
fallenworld
уже ответили выше
если окрыть коммит, то там будет ссылка на объяснение в котором написано, что это был не pullrequest, а прямой push на их сервер с гитом от имени одного из меинтейнеровopxocc
А никто и не мержил этот комит, он был сделан напрямую в master.
Если почитать текст по второй ссылке, то станет ясно что был скомпрометирован сервер git.php.net, на котором и были произведены два коммита, один от имени Rasmus Lerdorf, второй от имени Nikita Popov, эти изменения были зеркалированы GitHub-ом.
По итогу git.php.net закрывают, будут работать чисто на GitHub.
P.S. Работать без pull request — зло.