Next Generation CMS - Управляйте контентом без границ!
Создавай
Развивай
Управляй
Актуальная v.1.0.0
Критические уязвимости PHP в октябре 2026 года: обновление о...
Главная страница / Разработка / 💡 Советы по PHP / 💻 Немного о серверах / Критические уязвимости PHP в октябре 2026 года: обновление о...

Критические уязвимости PHP в октябре 2026 года: обновление обязательно

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

Главная рекомендация — как можно скорее обновить PHP до исправленной версии. Временные настройки способны уменьшить риск отдельных сценариев атаки, но не заменяют установку обновления.


Какие версии PHP исправляют уязвимости

В рамках обновления безопасности опубликованы следующие версии:

  • PHP 8.5.12;
  • PHP 8.4.27;
  • PHP 8.3.36;
  • PHP 8.2.35.

Если ваш сервер использует одну из этих веток PHP, необходимо установить соответствующее исправление или более новую версию, в которой оно уже включено. Перед обновлением проверьте доступность пакетов у поставщика PHP или операционной системы.

Официальные источники:

Кого затрагивает проблема

Уязвимости представляют опасность для установок PHP, которые обрабатывают веб-запросы. Это касается различных способов запуска PHP, в том числе:

  • PHP-FPM;
  • Apache с модулем mod_php;
  • php-cgi;
  • FrankenPHP;
  • LiteSpeed.

По данным команды PHP, особое внимание следует обратить на конфигурации Apache с mod_php: для этого варианта продемонстрирован сценарий атаки, при котором специально сформированный запрос может запустить эксплуатацию уязвимости ещё до выполнения кода самого приложения.

Это означает, что наличие авторизации в административной панели, сложный пароль или защита отдельных страниц сайта не устраняют проблему. Уязвимость находится на уровне обработки запросов самим PHP.


Уязвимость № 1: CVE-2026-109618 — повреждение памяти при нехватке ресурсов

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

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

Уязвимость обозначена как CVE-2026-109618. Её описание опубликовано в официальном предупреждении безопасности PHP на GitHub.

Особенность этой проблемы заключается в том, что речь идёт не об ошибке конкретной CMS или плагина. Уязвимым звеном становится механизм обработки запроса внутри PHP.


Уязвимость № 2: CVE-2026-109619 — использование устаревшего внутреннего состояния

Вторая уязвимость связана с жизненным циклом внутренних данных PHP. Часть состояния, относящегося к одному запросу, в определённых условиях может сохраниться после освобождения памяти, в которой эти данные находились.

Если тот же рабочий процесс PHP обработает следующий запрос до того, как состояние будет корректно сброшено, он может обратиться к устаревшим данным. Это создаёт условия для нарушения целостности памяти и потенциального выполнения произвольного кода.

Уязвимость обозначена как CVE-2026-109619. Подробности доступны в официальном уведомлении PHP на GitHub.

Обе проблемы особенно опасны для публичных серверов, где обработчики PHP принимают запросы от любых посетителей. Злоумышленнику не обязательно иметь учётную запись на сайте.


Как проверить версию PHP

Перед обновлением выясните, какая версия PHP используется вашим сайтом. Важно учитывать, что версия PHP в командной строке и версия, используемая веб-сервером, могут различаться.

Проверка через командную строку

В Linux выполните команду:

Код : bash
php -v

В Windows откройте командную строку и выполните:

Код : cmd
php -v

Команда покажет версию PHP, доступную в текущем окружении командной строки. Если на сервере установлено несколько версий, результат не обязательно соответствует версии, обслуживающей сайт.


Проверка версии на сайте

Версию веб-окружения можно определить через административную панель хостинга или штатные инструменты CMS. При необходимости администратор может временно создать файл с вызовом phpinfo(), но такой файл нельзя оставлять общедоступным: он раскрывает сведения о конфигурации сервера.

После проверки удалите диагностический файл. Не публикуйте полный вывод phpinfo() в открытом доступе.


Как обновить PHP на сервере

Способ обновления зависит от операционной системы, панели управления и того, каким способом установлен PHP. Не следует просто заменять исполняемый файл PHP вручную: это может нарушить работу расширений, PHP-FPM и сайтов.

1. Сервер с Linux

Если PHP установлен из репозитория операционной системы или репозитория поставщика, проверьте наличие обновлённых пакетов и установите исправление штатным менеджером пакетов.

Например, в системах на базе AlmaLinux, Rocky Linux или RHEL сначала можно проверить доступные обновления:

Код : bash
dnf check-update

Для Debian и Ubuntu используется другой пакетный менеджер:

Код : bash
apt update
apt list --upgradable

Это команды проверки, а не универсальная инструкция по обновлению PHP. Конкретный пакет и команда установки зависят от используемого репозитория и версии PHP. Если на сервере работает панель управления, например BrainyCP, сначала проверьте её штатные средства управления версиями PHP.

2. Сервер с Windows или Open Server Panel

Для Windows используйте подходящую сборку PHP с официальной страницы загрузок либо обновите PHP средствами используемой среды разработки или панели управления.

Если вы используете Open Server Panel, перед заменой версии проверьте совместимость проекта с новой сборкой, расширениями PHP и настройками веб-сервера. Не удаляйте старую рабочую конфигурацию до проверки сайта на новой версии.

3. После установки обновления

После обновления необходимо убедиться, что веб-сервер действительно использует исправленную версию PHP.

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

Если сервер обслуживает несколько сайтов, проверьте каждый сайт и каждый используемый пул PHP-FPM. Обновление системного PHP не всегда означает, что все виртуальные хосты автоматически перешли на исправленную версию.


Что делать, если обновить PHP немедленно невозможно

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

Меры для CVE-2026-109618

Ограничьте размер входящих запросов. В уведомлении PHP предлагаются следующие ориентиры для параметра post_max_size:

  • 8M — если сайту не требуется загрузка файлов;
  • 32M — если загрузка файлов необходима и такого размера достаточно для задач сайта.

Значения необходимо выбирать с учётом реальных потребностей приложения. Если сайт принимает большие изображения, архивы или документы, слишком низкий лимит может нарушить его работу.

Параметр upload_max_filesize рекомендуется держать ниже post_max_size. При этом нужно учитывать ограничения веб-сервера и прокси, если они используются.

Дополнительно рекомендуется ограничивать размер декодированного запроса, количество полей формы, частей multipart-запроса, заголовков и глубину вложенности. Такие ограничения должны работать и для запросов, в которых отсутствует корректный заголовок Content-Length.

В официальном уведомлении также предлагается установить memory_limit=-1 на уровне, который приложение не может переопределить, например через php_admin_value в конфигурации пула PHP-FPM или Apache. Это устраняет один из контролируемых сценариев исчерпания памяти, но не исключает сбой при реальной нехватке памяти.

Внимание: memory_limit=-1 отключает ограничение памяти PHP. Это не универсальная настройка безопасности: она может увеличить риск чрезмерного потребления ресурсов и отказа в обслуживании. Не применяйте её без оценки нагрузки, доступной памяти и последствий для всех сайтов на сервере. Предпочтительнее как можно скорее установить исправленную версию PHP.

Для ограничения последствий исчерпания памяти в уведомлении также упоминаются контейнеры и механизмы cgroup. Такая изоляция должна быть настроена специалистом с учётом особенностей системы.

Меры для CVE-2026-109619

Для уменьшения риска эксплуатации второго сценария PHP рекомендует отключить отслеживание прогресса загрузки файлов через сессии:

Код : xml
session.upload_progress.enabled = 0

Настройку следует применять на раннем этапе обработки запроса — например, в php.ini, конфигурации пула PHP-FPM или веб-сервера. После изменения необходимо перезапустить соответствующие рабочие процессы PHP.

В PHP 8.5 также рекомендуется отключить формирование обратных трассировок для фатальных ошибок:

Код : xml
fatal_error_backtraces = 0

Эта мера применима к PHP 8.5 и блокирует только описанный в уведомлении путь атаки, связанный с обратной трассировкой. Она не устраняет все возможные сценарии эксплуатации.

Также необходимо проверить устаревшие или некорректные настройки, которые применяются к каждому запросу и могут формировать диагностические сообщения до завершения инициализации. Простое отключение вывода ошибок через error_reporting, display_errors или оператор @ не устраняет соответствующую проблему.

Не рассчитывайте, что изменение параметров через ini_set() или файл .user.ini защитит от этого сценария: такие настройки могут применяться слишком поздно.


Что делать владельцам сайтов на NGCMS

Если ваш сайт работает на NGCMS, необходимо проверить не только версию CMS, но и PHP, который обрабатывает запросы сайта. Исправление уязвимостей на уровне PHP не зависит от того, используется NGCMS, WordPress, другой движок или самописное приложение.

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

Если на одном сервере размещено несколько сайтов, важно проверить настройки каждого из них. Разные виртуальные хосты могут использовать различные версии PHP и независимые пулы PHP-FPM.

PHP 8.1 и более старые версии

PHP 8.1 и более ранние ветки больше не получают обычные обновления безопасности непосредственно от проекта PHP. При этом некоторые дистрибутивы Linux и поставщики долгосрочной поддержки могут предоставлять исправления для старых версий в виде backport-патчей.

Если вы используете такую сборку, уточните у поставщика, включены ли исправления CVE-2026-109618 и CVE-2026-109619. Сам по себе старый номер версии не позволяет определить, установлен ли патч от поставщика.

Команда PHP также опубликовала минимальные изменения исходного кода для веток PHP 7.4, 8.0 и 8.1. Они предназначены прежде всего для тех, кто самостоятельно собирает PHP из исходников или не имеет доступа к поставщику долгосрочной поддержки.

Если ваш проект зависит от старой версии PHP, следует составить план перехода на поддерживаемую ветку. Перед миграцией проверьте совместимость кода, расширений, библиотек и CMS, а также подготовьте резервную копию и возможность отката.


Итоги

Две критические уязвимости PHP — CVE-2026-109618 и CVE-2026-109619 — связаны с обработкой памяти и внутреннего состояния запросов. При определённых условиях они могут привести к удалённому выполнению кода без авторизации.

В первую очередь необходимо обновить PHP до исправленной версии: 8.5.12, 8.4.27, 8.3.36 или 8.2.35 либо до более новой версии с соответствующими исправлениями.

Если обновление временно невозможно, можно применить описанные ограничения и настройки, но они уменьшают риск лишь отдельных сценариев и не делают уязвимую установку безопасной. Не откладывайте обновление и обязательно проверьте, какая версия PHP обслуживает ваши сайты.



Добавить комментарий


Критические уязвимости PHP в о...

22 Oct 2026 , admin
21 октября 2026 года команда разработчиков PH...

Плагин Quotes

17 Oct 2026 , admin
Цитатник (NG Quotes)Плагин NGCMS для публика...

Open Server Panel 6.5+: устано...

17 Oct 2026 , admin
# Open Server Panel 6.5+: установка, настройк...

Шаблоны

Шаблон 7NEWS

Шаблон 7NEWS

7NEWS - адаптивный шаблон для NGCMS. Простой и красивый шаблон, построенный на чистом css, подойдет практически под любую тематику. В выпадающем меню выводятся новости из категорий.
Шаблон админ-панели Old2

Шаблон админ-панели Old2

Шаблон админ-панели Old2, одна из моих старых попыток адаптации старой админки на новый лад, вот подумал чего добру пропадать , адаптировал до последней версии
Шаблон админ-панели Oniks

Шаблон админ-панели Oniks

Один из старых скинов админки от Русика , адаптирован под последнею версию движка .
Шаблон Android Dev

Шаблон Android Dev

Данный шаблон выполнен с преобладанием зелёного и белого цветов. Это подсознательно подчёркивает тему мобильных устройств на платформе андроид. Сам по себе, шаблон Android Dev очень лёгкий и быстрый п...
Шаблон админ-панели Velonic

Шаблон админ-панели Velonic

Шаблон полностью адаптивный, настраивается на свой вкус и цвет.
Русский
up