CodeariaAcademy
GitHub-репозиторийкоммит в этом месяцеРазработкаАвтоматизация

PHP2Shell Checker

1,4k

Бесплатная проверка от OpenAI: по адресу сайта говорит, не стоит ли на нём версия PHP с дырами PHP2Shell (CVE-2026-109618 и CVE-2026-109619). Читает только заголовки ответа, сайт не атакует. Запускается одной командой или как навык Codex. Apache-2.0.

Сами не запускали: описание по документации и репозиторию.

В цифрах

критические уязвимости PHP: выполнение кода без входа
минимальная исправленная версия (дальше 8.3.36, 8.4.27, 8.5.12)
звёзд на GitHub на 24.10.2026, через три дня после выхода

Что это

21 октября команда PHP выпустила срочное обновление: две критические уязвимости позволяют выполнить чужой код на сервере без всякого входа в систему. Под угрозой все установки PHP, которые отвечают на веб-запросы, а значит и сайты на WordPress, Drupal, Joomla и любых других движках на PHP. Сильнее всего риск для Apache с mod_php: там атака срабатывает ещё до того, как запустится код самого сайта.

Исправлены версии PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Всё, что ниже, нужно обновить. PHP 8.1 и старше обновлений от команды PHP больше не получают: для них есть только исправления от хостинга или дистрибутива, иначе нужен переход на поддерживаемую версию.

OpenAI выложила небольшую утилиту, которая проверяет это снаружи. Вы даёте ей адрес сайта, она отправляет один обычный запрос и смотрит заголовки X-Powered-By и Server, где многие серверы сообщают версию PHP. Ответов три: OK, POTENTIALLY VULNERABLE (версия в опасном диапазоне) или UNKNOWN (версию не видно). Эксплойтов утилита не отправляет.

Как устроено

Проверка одной командой
Нужен установленный Node.js. Скачайте файл phpcheck.js из репозитория и запустите: node phpcheck.js "https://ваш-сайт.ru". Для скриптов есть флаг --json, в нём поле patch_status: ok, potentially_vulnerable или unknown.
Через Codex
Скажите Codex: $skill-installer install both skills from https://github.com/openai/php2shell-checker. Потом $phpcheck-url check https://ваш-сайт.ru, если есть только адрес, или $phpcheck-server check the PHP version serving my site, если есть доступ к серверу.
phpcheck-server
Проверка изнутри сервера точнее: навык находит именно тот PHP, который обслуживает сайт (а не консольный), и сравнивает версию пакета с бюллетенями Debian, Ubuntu и других дистрибутивов. Так видно, закрыта ли дыра исправлением от поставщика, даже если номер версии старый.
UNKNOWN на WordPress
Если сайт прячет версию, утилита ответит UNKNOWN. На WordPress версию видно в админке: Инструменты → Здоровье сайта → Информация → Сервер. Сравните её с исправленными версиями выше, а если она ниже, спросите хостинг, установлено ли исправление.

Знать до установки

Проверка по адресу видит только объявленную версию. OK не доказывает, что сервер в порядке, а POTENTIALLY VULNERABLE не доказывает дыру: хостинги и дистрибутивы часто ставят исправление, не меняя номер версии. Точный ответ даёт только проверка на сервере или ответ хостинга.
PHP 5.4–8.1 утилита всегда помечает как опасные, даже с высоким номером патча вроде 8.1.35: команда PHP эти ветки больше не поддерживает.
Настройки вроде memory_limit=-1 или session.upload_progress.enabled=0 команда PHP называет временной мерой: они закрывают отдельные пути атаки, но не делают сервер безопасным. Полное решение одно: обновление.
Проверяйте только свои сайты или сайты клиентов с их согласия. Внешних правок в код OpenAI не принимает, ошибки можно сообщать через issues.

Комментарии