D-Link проверяет продукты после раскрытия уязвимостей PHP

D-Link

PHP лежит в основе множества веб-приложений, включая устаревшие фронтенды облачных сервисов. Две уязвимости в ядре PHP позволяют выполнить произвольный код на сервере. Их объединили под общим названием PHP2Shell. D-Link проверила свои продукты, приложения и облачную платформу mydlink и опубликовала итоги под идентификатором SAP10524.

Итоги проверки

Компания начала разбор сразу после публикации сведений об уязвимостях. Проверка охватила оборудование, приложения, прошивки и связанную облачную инфраструктуру. Результат разошёлся по трём направлениям: железу, программам и порталу mydlink.

Оборудование и приложения

Сетевое оборудование D-Link не использует PHP. В прошивке коммутаторов, маршрутизаторов, точек доступа и сетевых камер нет компонентов PHP, поэтому эти устройства не затронуты. Средства управления продуктами, сопутствующее ПО, мобильные приложения и серверный API тоже обходятся без PHP-компонентов, связанных с уязвимостями. Здесь администраторам менять нечего.

Облако mydlink

Проверка показала, что часть устаревших компонентов веб-фронтенда портала mydlink раньше работала на PHP. D-Link оценила риски для этих компонентов и не нашла свидетельств несанкционированного доступа к данным из-за эксплуатации уязвимостей. Экстренные работы на платформе завершены. На фронтенде развернули правила WAF - межсетевого экрана для веб-приложений, - которые распознают и блокируют известные автоматизированные векторы атак.

Параллельно компания меняет архитектуру портала. PHP-компоненты постепенно заменяют, миграцию на новую архитектуру планируют завершить к концу ноября 2026 года. Переход не должен прервать работу сервиса. До этого срока защиту обеспечивают экстренные меры и правила фильтрации запросов.

Уязвимости и версии

CVE-2026-109618 связана с нехваткой памяти. При исчерпании памяти PHP прерывает обработку запроса и выходит из текущего контекста. Некоторые контексты не учитывают такой сценарий, и память запроса остаётся неинициализированной перед следующей операцией выделения. Процедура очистки запроса затем читает эту память или принимает по ней решение. Разные стратегии исчерпания памяти стабильно вызывают такое состояние, а вместе с ним - удалённое выполнение кода.

CVE-2026-109619 касается глобального состояния, которое временно указывает в память запроса. Иногда оно не сбрасывается корректно или заполняется заново уже после сброса. Тогда оно продолжает ссылаться на освобождённую память. Следующие запросы читают устаревшее состояние до полной инициализации и тоже могут выполнить чужой код.

Обе записи получили CVSS 4.0 - 9,2 из 10. Атака идёт по сети, привилегии не нужны, участие пользователя не требуется. При этом сложность высокая, а требования к атаке присутствуют: одного доступа к сервису мало, нужны подходящие условия его работы. Авторами записей указаны Wiz, Ryan at Calif.io, OpenAI и разработчики PHP.

Сведения об эксплуатации есть. Координатор CISA отметил активную эксплуатацию для обеих записей, а 26 октября 2026 года добавил их в каталог CISA KEV. Автоматизацию атаки при этом не отметили. Поставщик Siemens указал, что затронут продукт RUGGEDCOM APE1808.

Уязвимы PHP 8.2.* до 8.2.35, 8.3.* до 8.3.36, 8.4.* до 8.4.27 и 8.5.* до 8.5.12. Отдельной строки с исправленной версией в записях нет: границы заданы через "меньше", поэтому ориентироваться стоит на эти пороги. Обходную меру авторы записей не описывают - отправляют к GitHub Security Advisory.

Администраторам стоит начать с инвентаризации. Важно найти все сервисы, которые запускают PHP, включая давно забытые фронтенды и внутренние панели. Обновление до версии за пределами уязвимых диапазонов закрывает оба сценария сразу, потому что уязвимости затрагивают одни и те же ветки. Правила WAF годятся как временная мера: они рассчитаны на известные автоматизированные векторы, а ручная атака обойдёт фильтр.

Ссылки

Комментарии: 0