Заказывали модуль, при оплате предоставили быстро документы,модуль а также консультацию по установке.
надо срочно сюда
что-нибудь добавить
Автор: opencart-cms.ru
21 октября 2026 года в экосистеме PHP развернулась классическая драма: информация о критических уязвимостях под кодовым именем php2shell утекла в сеть раньше срока, нарушив эмбарго. Команде PHP пришлось экстренно выкатывать патчи.
Уязвимости получили запредельный рейтинг опасности — CVSS 9.2 (Critical). Атакующий может выполнить произвольный код на сервере (RCE) без авторизации, просто отправив специально сформированный multipart POST-запрос. Cloudflare и ИБ-компании уже фиксируют волну сканирований и попыток эксплуатации.
В этой статье разберём, в чём суть проблемы, почему классические WAF и плагины безопасности бессильны, и дадим готовые инструкции: как обновиться в 1 команду на свежих версиях и как пропатчить легаси (PHP 5.6, 7.4, 8.0, 8.1), которые разработчики языка давно списали в архив.
Речь идёт о связке из двух уязвимостей: CVE-2026-109618 и CVE-2026-109619.
Самое неприятное: уязвимость срабатывает на этапе парсинга HTTP-запроса самим интерпретатором, то есть ДО того, как начнёт выполняться код вашего фреймворка или CMS. Никакие middleware Laravel, фильтры WordPress или WAF-правила внутри приложения вас не защитят.
Если ваши сайты работают на поддерживаемых версиях, вам повезло. Официальные исправления уже вышли: 8.5.12, 8.4.27, 8.3.36, 8.2.35.
Популярные репозитории (включая deb.sury.org для Ubuntu/Debian) выпустили пакеты в первые же часы.
sudo apt update
sudo apt install --only-upgrade "php8.*" php-fpm
sudo systemctl restart "php*-fpm"
Проверьте результат:
php -v
Должна быть одна из версий: 8.2.35, 8.3.36, 8.4.27 или 8.5.12
В HestiaCP работают два независимых PHP:
Даже если вы обновите системный PHP для сайтов, панель управления может оставаться уязвимой. Пока официальный пакет hestia-php обновляется, обязательно примените экспресс-настройку:
Откройте /usr/local/hestia/php/lib/php.ini (или etc/php.ini) и добавьте в конец:
memory_limit = -1
session.upload_progress.enabled = 0
post_max_size = 16M
Затем перезапустите панель:
sudo systemctl restart hestia
Это главная головная боль рунета. Тысячи интернет-магазинов (особенно на OpenCart 1.5/2.x/3.x или старых темах WordPress) намертво привязаны к PHP 5.6 или 7.4. Обновить версию интерпретатора «в лоб» нельзя — сайт просто ляжет с фатальными ошибками синтаксиса и модулей.
При этом официальные мейнтейнеры закрыли эти ветки (End of Life) и не выпускают для них deb/rpm-пакеты.
Здесь есть два пути: быстрый харденинг (купить время) и настоящий патч (скомпилировать безопасный бинарник).
Харденинг не устраняет баг в коде, но ломает цепочку эксплуатации эксплойта: убирает лимит памяти на этапе multipart-парсинга (исключая триггер OOM) и наглухо отключает upload_progress.
Мы упаковали это в открытый скрипт, который автоматически находит все пулы PHP-FPM и конфиг HestiaCP:
curl -fsSL https://raw.githubusercontent.com/Anton-Barinov/php2shell-patches/main/harden/apply-hardening.sh | sudo bash
Что делает скрипт:
Чтобы закрыть уязвимость на фундаментальном уровне, старые версии нужно пересобрать с патчем.
В открытом репозитории Anton-Barinov/php2shell-patches собраны готовые бэкпорты двух видов:
Чтобы не сломать системный пакетный менеджер, мы собираем патченный PHP в изолированную директорию /opt/php-7.4-patched.
sudo apt update
sudo apt install -y build-essential autoconf bison re2c pkg-config \
libxml2-dev libssl-dev libcurl4-openssl-dev libsqlite3-dev \
libonig-dev libzip-dev git curl
git clone https://github.com/Anton-Barinov/php2shell-patches.git
cd php2shell-patches
Для PHP 7.4 (рекомендуется enhanced-патч):
sudo ./build/build-patched-php.sh 7.4.33 patches/php-7.4-enhanced-universal.patch /opt/php-7.4-patched
Либо для древнего PHP 5.6:
sudo ./build/build-patched-php.sh 5.6.40 patches/php-5.6-enhanced-universal.patch /opt/php-5.6-patched
Для PHP 7.4 (рекомендуется enhanced-патч):
sudo ./build/build-patched-php.sh 7.4.33 patches/php-7.4-enhanced-universal.patch /opt/php-7.4-patched
Либо для древнего PHP 5.6:
sudo ./build/build-patched-php.sh 5.6.40 patches/php-5.6-enhanced-universal.patch /opt/php-5.6-patched
Скрипт сам скачает официальный тарбол с php.net, применит патч, сконфигурирует сборку с поддержкой FPM и скомпилирует бинарник.
/opt/php-7.4-patched/bin/php -v
/opt/php-7.4-patched/bin/php -m
Переключение сайтов: После успешной сборки достаточно в конфигурации нужного пула PHP-FPM или шаблоне панели управления подменить путь к бинарнику на /opt/php-7.4-patched/sbin/php-fpm. Старый системный PHP при этом остаётся нетронутым — у вас всегда есть моментальный откат назад.
Исполнители по теме можно найти в разделе - Обновление сайта и модулей под PHP 8