Уязвимости PHP затрагивают пакеты Synology в DSM

synology

Несколько уязвимостей в PHP позволяют удалённо выполнить код в пакетах Synology для DSM (DiskStation Manager, операционная система NAS Synology). Часть ошибок ведёт к раскрытию информации. Затронуты Synology Calendar, Mail Station и пакеты PHP веток с 7.3 по 8.4.

Ошибки памяти в PHP, оценка 9.8 и версии исправлений

Synology опубликовала уведомление SA_26:14 под названием PHP2Shell 22 октября 2026 года. Опасность вендор оценил как критическую, статус указал как "решено". Оценка CVSS (общая система оценки уязвимостей) - 9.8 из 10. Условия атаки простые: доступ по сети, учётные данные не нужны, участие пользователя не требуется. Сведений об эксплуатации в реальных атаках нет, речь идёт только о демонстрационном коде.

Обе ошибки связаны с работой с памятью. При исчерпании памяти PHP вызывает longjmp (аварийный выход из текущего контекста), чтобы прервать обработку запроса. Некоторые сценарии такой выход не учитывают, поэтому память запроса остаётся неинициализированной. Процедура очистки запроса затем читает эти данные или принимает по ним решение. В результате подобранная последовательность запросов приводит к выполнению кода.

Другой механизм связан с глобальным состоянием, которое временно указывает в память запроса. Иногда это состояние не сбрасывается корректно или заполняется заново уже после освобождения памяти. Тогда оно ссылается на освобождённый участок, то есть возникает использование после освобождения (use after free). Последующие запросы читают устаревшие данные до полной инициализации, и это тоже даёт выполнение кода. Ошибки зарегистрированы как CVE-2026-109618 и CVE-2026-109619, записи опубликованы 21 октября и обновлялись 28 и 29 октября.

Исправления уже доступны. Calendar обновляют до версии 3.0.4-21435, Mail Station - до 30000002.3.19-20333. Для PHP номера зависят от ветки DSM. На DSM 7.2 и выше нужен 7.4.33-0131, на DSM 7.0-7.1 - 7.4.33-0122, на DSM 6.2 - 7.4.33-0010. Ветка 8.0 закрывается версиями 8.0.30-0122 и 8.0.30-0104 по тому же принципу. Для веток 8.1-8.4 исправленные выпуски - 8.1.34-0120, 8.2.35-0171, 8.3.36-0051 и 8.4.27-0051.

Ветка PHP 7.3 исправления не получит, поскольку снята с поддержки. Пакет Hyper Backup в таблице Synology указан как незатронутый. Встроенный в операционную систему PHP, по словам вендора, не доступен извне, поэтому риск там считается очень низким. Записи CVE относят к затронутым ещё и ветку 8.5 до 8.5.12, однако в таблице Synology такой ветки нет.

Администраторам нужно обновить пакеты до указанных версий и проверить, какие ветки PHP установлены на устройстве. Установки с PHP 7.3 остаются без исправления, поэтому закрыть ошибки обновлением там нельзя. Списки продуктов в уведомлении уже менялись. В последних редакциях в таблицу добавили Hyper Backup и ветки DSM 6.2, 7.0 и 7.1, так что проверять уведомление придётся повторно.

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

Ссылки

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