Содержание
21 октября 2026 года разработчики PHP выпустили экстренные обновления безопасности, закрывающие две критические уязвимости удаленного выполнения кода: CVE-2026-109618 и CVE-2026-109619.
Обе уязвимости получили оценку 9.2 балла по шкале CVSS 4.0 и могут позволить неавторизованному злоумышленнику выполнить произвольный код на сервере. Для атаки не обязательно знать пароль администратора или иметь учетную запись на сайте.
Исправления выпущены в версиях PHP 8.2.35, 8.3.36, 8.4.27 и 8.5.12. Разработчики PHP отдельно предупреждают, что полноценного способа защиты без обновления нет: временные ограничения способны уменьшить поверхность атаки, но не устраняют обе уязвимости полностью.
Какие уязвимости были обнаружены?
Проблемы находятся не в Joomla или отдельном расширении, а непосредственно в интерпретаторе PHP. Именно PHP обрабатывает практически каждый запрос к сайту, поэтому уязвимость расположена ниже уровня системы управления сайтом и ее защитных плагинов.
CVE-2026-109618: повреждение памяти при нехватке ресурсов
Первая уязвимость связана с обработкой ситуации, когда PHP исчерпывает доступную память во время разбора входящего HTTP-запроса.
При определенных условиях злоумышленник может отправить специально сформированный запрос, в том числе связанный с обработкой составных данных и загрузкой файлов. PHP прерывает обработку из-за нехватки памяти в момент, когда внутренние структуры запроса еще не полностью инициализированы. Во время очистки PHP может ошибочно принять поврежденные данные за корректные.
Последствия могут включать:
- повреждение памяти процесса PHP;
- выполнение произвольного кода с правами пользователя веб-сервера;
- чтение и изменение файлов сайта;
- получение доступа к конфигурации и базе данных;
- установку бэкдоров и дальнейшее заражение сервера.
Эксплуатация CVE-2026-109618 была подтверждена через HTTP для Apache с mod_php при стандартных ограничениях. Другие конфигурации, включая PHP-FPM, также входят в область риска.
CVE-2026-109619: повторное использование устаревшего состояния
Вторая уязвимость связана с глобальным состоянием PHP, которое может сохраниться после завершения запроса, хотя память, на которую оно ссылалось, уже освобождена.
Для эксплуатации используются два этапа:
- Первый запрос оставляет после себя некорректное внутреннее состояние.
- Следующий запрос попадает в тот же рабочий процесс PHP и использует устаревшие данные до того, как обычная инициализация успеет их сбросить.
Это разновидность ошибки use-after-free, способная привести к выполнению кода. Среди подтвержденных путей эксплуатации указаны обработка прогресса загрузки файлов в PHP-сессии и некоторые диагностические сообщения, возникающие до полной инициализации запроса.
Путь через session.upload_progress подтвержден как для mod_php, так и для PHP-FPM. Однако отключение этой функции перекрывает только один известный сценарий и не является полным исправлением.
Почему это опасно для Joomla ?
Обычная уязвимость расширения находится внутри CMS: чтобы ее использовать, запрос должен дойти до Joomla и пройти часть их логики. В данном случае атака направлена на сам PHP, который начинает обрабатывать запрос раньше кода сайта.
Это означает, что от данных уязвимостей могут не защитить:
- сложный пароль администратора;
- многофакторная аутентификация;
- закрытый адрес административной панели;
- плагин безопасности внутри Joomla;
- отключение регистрации пользователей;
- ограничения прав обычных учетных записей.
Особенно высоко разработчики PHP оценивают риск для серверов с Apache и mod_php: существует подтвержденный сценарий, при котором неавторизованный запрос запускает атаку еще до выполнения кода приложения.
Какие версии PHP необходимо установить?
Безопасная патч-версия зависит от используемой ветки PHP:
- PHP 8.5: обновитесь до 8.5.12 или выше.
- PHP 8.4: обновитесь до 8.4.27 или выше.
- PHP 8.3: обновитесь до 8.3.36 или выше.
- PHP 8.2: обновитесь до 8.2.35 или выше и запланируйте переход на более новую поддерживаемую ветку.
- PHP 8.1 и ниже: официального готового выпуска с исправлением от проекта PHP нет.
Последними уязвимыми патч-версиями в поддерживаемых ветках являются PHP 8.2.34, 8.3.35, 8.4.26 и 8.5.11.
PHP 8.2 получает только обновления безопасности и достигнет конца поддержки 31 декабря 2026 года. Поэтому переход только на PHP 8.2.35 решает текущую проблему, но не является долгосрочной стратегией.
Что делать владельцу сайта прямо сейчас?
Шаг 1: узнайте фактическую версию PHP сайта
Проверьте версию в панели хостинга или в Joomla через раздел Система → Информация о системе. Важно смотреть PHP, обслуживающий веб-запросы: версия командной строки php -v на VPS может отличаться от версии PHP-FPM или Apache, используемой сайтом.
Шаг 2: установите исправленную патч-версию
Если сайт уже работает на PHP 8.2, 8.3, 8.4 или 8.5, выберите в панели хостинга соответствующую безопасную версию. Обычное обновление внутри одной ветки, например с PHP 8.3.35 до 8.3.36, является патч-обновлением и обычно не требует изменения кода сайта.
Если исправленной версии в панели нет, направьте обращение в техническую поддержку хостинга и спросите, когда будет установлена безопасная сборка.
Шаг 3: полностью перезапустите PHP
После установки пакетов необходимо перезапустить все рабочие процессы PHP. Для PHP-FPM обычно требуется перезапуск соответствующей службы. При использовании mod_php может потребоваться полная остановка и повторный запуск Apache, поскольку мягкая перезагрузка способна оставить старую библиотеку в памяти.
Шаг 4: проверьте сайт после обновления
- Откройте главную страницу и несколько внутренних материалов.
- Проверьте вход в административную панель.
- Отправьте тестовые формы и электронные письма.
- Проверьте загрузку изображений и документов.
- Убедитесь в работе интернет-магазина, поиска и других важных компонентов.
- Просмотрите журнал ошибок PHP после переключения версии.
Шаг 5: проверьте признаки возможного взлома
На момент подготовки статьи сообщения об активной эксплуатации противоречивы, поэтому нельзя уверенно утверждать, что начались массовые подтвержденные атаки. Однако после публикации исправлений злоумышленники могут быстро изучить изменения и разработать рабочие эксплойты.
Проверьте:
- неизвестные PHP-файлы в каталогах
/images,/media,/tmp,/cacheи папках загрузки; - недавно измененные системные файлы Joomla или Words;
- неизвестные учетные записи администраторов;
- подозрительные задания cron и запущенные процессы;
- необычные исходящие подключения и всплески нагрузки;
- запросы с крупными или аномальными multipart-данными в журналах веб-сервера.
Что делать со старой Joomla и устаревшей PHP?
Основная проблема старых сайтов состоит не только в этих двух CVE. Joomla 3, старые расширения и неподдерживаемые версии PHP больше не получают полный набор официальных исправлений. Даже если хостинг временно перенесет конкретный патч на PHP 7.4 или 8.1, следующая критическая уязвимость может остаться без исправления.
Когда сайт годами остается доступным из интернета, атаки не прекращаются: автоматические сканеры ежедневно ищут известные уязвимости в Joomla, расширениях, шаблонах и PHP. Чем дольше система находится без поддержки, тем больше накапливается неисправленных точек входа.
Простое переключение старой Joomla на новую PHP может привести к ошибкам. Безопасный переход обычно требует:
- создания полной резервной копии;
- аудита компонентов, модулей, плагинов и шаблона;
- замены заброшенных расширений;
- последовательного обновления Joomla;
- проверки сайта на тестовой копии;
- переключения на поддерживаемую PHP;
- контрольного тестирования после переноса.
Наша услуга обновления Joomla
Если сайт работает на старой Joomla или не совместим с современной версией PHP, мы можем выполнить комплексное обновление. Мы проверим используемые расширения и шаблон, подготовим резервную и тестовую копии, спланируем последовательность перехода и поможем перевести сайт на актуальную Joomla и поддерживаемую PHP.
Подробнее об услуге: обновление и миграция сайтов Joomla.
Обновление особенно важно запланировать заранее, если сайт работает на Joomla 3, PHP 7.4, PHP 8.0 или PHP 8.1. Ожидание следующей критической уязвимости оставляет слишком мало времени на спокойную проверку совместимости и перенос.
Дополнительные меры защиты
- Обновите Joomla и все расширения до актуальных версий.
- Удалите неиспользуемые компоненты, плагины и шаблоны, а не просто отключите их.
- Включите многофакторную аутентификацию для администраторов.
- Ограничьте прямой доступ к серверу, если сайт защищен через CDN или WAF.
- Храните резервные копии отдельно от сайта и проверяйте возможность восстановления.
- Настройте мониторинг изменений файлов и уведомления о новых администраторах.
- Регулярно проверяйте версию PHP, поскольку одного номера ветки недостаточно — важна актуальная патч-версия.

