Разработчики PHP раскрыли подробности затянувшегося устранения критических уязвимостей
Разработчики PHP опубликовали отчёт о проблемах, возникших при исправлении критических уязвимостей, патчи к которым были выпущены на этой неделе. Выяснилось, что информация об уязвимости, связанной с исчерпанием доступной памяти, была получена ещё в 2024 году в ходе внешнего аудита, но тогда была воспринята лишь как теоретическая угроза. Исправление затянулось из-за разногласий среди мейнтейнеров относительно способа устранения проблемы.
Подробности
Ключевой проблемой, из-за которой исправление затянулось, стал недостаток консенсуса среди разработчиков PHP относительно способа устранения уязвимости. Рассматривалось несколько конкурирующих предложений о решении проблемы, и каждое из них имело свои существенные минусы. Мейнтейнерам приходилось делать выбор между тремя неблагоприятными сценариями: нарушением обратной совместимости, появлением новых векторов для атак, вызывающих отказ в обслуживании (DoS), и необходимостью внесения изменений во множество сторонних дополнений. Каждый из вариантов затрагивал значительную часть экосистемы PHP и требовал взвешенной оценки рисков, что дополнительно увеличивало сроки согласования решения. Таким образом, задержка с выпуском патчей была обусловлена не халатностью, а объективной сложностью архитектурного решения, затрагивающего как ядро языка, так и сторонние расширения. Критические уязвимости, о которых идёт речь, были исправлены лишь на этой неделе, спустя значительное время после первичного обнаружения.Что делать
В первую очередь необходимо убедиться, что используемая версия PHP содержит актуальные исправления, выпущенные на этой неделе, и при наличии обновлений — установить их без отлагательств. Организациям, использующим PHP в составе веб-приложений, следует проверить наличие сторонних дополнений и расширений, которые могут быть затронуты изменениями, и оценить их совместимость с обновлённой версией. Также рекомендуется провести анализ журналов на предмет подозрительной активности, связанной с исчерпанием памяти и потенциальными попытками вызвать отказ в обслуживании, особенно если инфраструктура длительное время работала на уязвимых версиях. При планировании обновлений стоит учитывать возможные нарушения обратной совместимости и заранее подготовить план отката. Итог: история наглядно демонстрирует, что даже при наличии информации об уязвимости своевременность её устранения зависит от сложности архитектурных компромиссов, а не только от осведомлённости разработчиков. Пользователям же остаётся внимательно следить за обновлениями и не откладывать установку патчей.Источник: opennet

