(Minghui.org) В течение последней недели были выявлены серьёзные уязвимости в средах выполнения PHP, Node.js и Go. Администраторам, обслуживающим серверы на базе этих технологий, в том числе использующим популярные системы управления контентом, такие как WordPress, необходимо принять меры для защиты своих сервисов от возможных кибератак.
Начиная с 21 октября, международные организации по кибербезопасности, а также официальные разработчики PHP и Node.js опубликовали критически важные бюллетени безопасности. В них сообщается об уязвимостях, которые позволяют злоумышленникам удалённо выполнять произвольный код на сервере (RCE) или провоцировать отказ в обслуживании (DoS).
Поскольку уязвимости затрагивают сами среды выполнения языков программирования или встроенные библиотеки, простого обновления прикладных компонентов – например, плагинов WordPress или пакетов npm – недостаточно. Для обеспечения безопасности необходимо обновить саму среду выполнения языка.
Уязвимости в основных технологических стеках
1. PHP (уязвимость «PHP2Shell»)
Уязвимости, позволяющие выполнить произвольный код (Remote Code Execution):
– CVE-2026-109618, CVE-2026-109619 (оценка по шкале CVSS – 9.2, критический уровень риска);
– краткое описание: выявлены недостатки в механизмах управления памятью и обработки глобального состояния. Возникновение ошибки нехватки памяти (OOM – Out-of-Memory) может привести к повреждению памяти или использованию устаревших данных при обработке последующих запросов тем же рабочим процессом (worker);
– область воздействия: все неисправленные веб-сайты и серверы на базе PHP. Злоумышленники могут проводить атаки, не обладая какими-либо учётными данными или привилегиями.
2. Node.js
Уязвимости в декодере Brotli и компонентах сетевой безопасности включают CVE-2026-111497 (выход за границы выделенной области памяти при записи данных в декодере Brotli), а также ряд уязвимостей, связанных с проверкой подлинности в протоколах TLS и DNS.
– Краткое описание: встроенный декодер сжатых данных Brotli содержит дефект, приводящий к записи данных за пределами выделенного участка памяти; кроме того, существует риск обхода механизмов проверки учётных данных и имён хостов;
– область воздействия: обработка ненадёжных данных, сжатых с помощью Brotli, внешние сетевые соединения, а также использование Node.js в качестве прокси-сервера.
3. Язык программирования Go и связанные с ним фреймворки
Выпущены исправления безопасности для соответствующих сетевых протоколов, стандартных библиотек и распространённых фреймворков с открытым исходным кодом, включая HTTP-прокси и интерфейсы управления сетью.
- Область воздействия: облачные сервисы (cloud-native), использующие определённые версии модулей Go или зависящие от них.
Срочные меры для системных администраторов
Традиционные проверки зависимостей (например, сканирование файлов package.json или composer.json) не позволяют выявить уязвимости в среде выполнения (runtime). Необходимо проверить версию среды выполнения, используемую на сервере и/или в контейнерах.
Для устаревших версий сред выполнения, поддержка которых прекращена (например, PHP версий ниже 8.2 или Node.js версий ниже 20), официальные исправления (патчи) больше не выпускаются. Приложения, работающие в таких неподдерживаемых средах, должны быть либо обновлены до актуальной, поддерживаемой версии, либо изолированы от сети Интернет.
При ограниченности ресурсов администраторы серверов могут выполнить следующие шаги (в указанном порядке):
1. Экспресс-инвентаризация активов (проверка версий)
Выполните вход на каждый сервер или в каждый контейнер и проверьте, затрагивает ли уязвимость используемую версию среды выполнения языка программирования:
– для PHP: проверьте, является ли текущая версия более ранней, чем версия, в которой уязвимость уже устранена (см. список ниже). Примечание: в некоторых дистрибутивах Linux исправления переносятся в более старые версии (backporting), поэтому версии, предшествующие 8.2, также могут быть защищены. Ознакомьтесь с официальными анонсами или журналами пакетов для вашего дистрибутива;
- для Node.js: проверьте, не используете ли вы одну из уязвимых версий – 22.x, 24.x или 26.x.
2. Немедленно обновите до исправленной версии
Обновите свою среду до соответствующей исправленной версии (см. ниже) и перезапустите процесс службы (например, PHP-FPM или приложение Node), чтобы очистить остаточные данные в памяти:
Исправленные версии PHP:
PHP 8.5.x – обновите до 8.5.12 (или более поздней версии);
PHP 8.4.x – обновите до 8.4.27 (или более поздней версии);
PHP 8.3.x – обновите до 8.3.36 (или более поздней версии);
PHP 8.2.x – обновите до 8.2.35 (или более поздней версии).
Исправленные версии Node.js:
Node.js 22.x – обновите до 22.23.4 (или более поздней версии);
Node.js 24.x – обновите до 24.22.1 (или более поздней версии);
Node.js 26.x – обновите до 26.12.1 (или более поздней версии).
Примечание: поддержка Node.js 20 и более ранних версий прекращена. Вам необходимо как можно скорее перейти на поддерживаемую версию.
3. Перезапустите сборку контейнеров и образов
Если вы используете Docker или другие облачные контейнеры, одной лишь смены тега недостаточно: необходимо перезапустить образ, чтобы гарантировать обновление базовой среды выполнения и повторное развёртывание службы.
Проверьте настройки вашего межсетевого экрана для веб-приложений (WAF) или балансировщика нагрузки: убедитесь, что активированы правила защиты от аномального POST-трафика и вредоносных сжатых пакетов.
Выше приведён лишь общий обзор. В каждом конкретном случае технические специалисты должны оперативно выявить и устранить риски с учётом особенностей своей инфраструктуры, чтобы обеспечить информационную безопасность.
Авторские права © 1999-2026 Minghui.org. Все права защищены.
