OpenAI выложила проверку сайтов на уязвимость php2shell

Два навыка для Codex из репозитория php2shell-checker от OpenAI, опубликованного 21 октября, определяют, работает ли сайт или сервер на версии PHP, уязвимой к php2shell. Код распространяется под лицензией Apache 2.0.
Под названием php2shell объединены две уязвимости. CVE-2026-109618 вызывает повреждение памяти, когда во время очистки запроса её не хватает. В CVE-2026-109619 глобальное состояние, оставшееся от одного запроса, подхватывает следующий запрос на том же воркере. PHP описывает обе как удалённое выполнение кода. Нашли их участники инициативы Patch the Planet с помощью моделей OpenAI, а исправление готовили два месяца. Исправленные релизы: 8.5.12, 8.4.27, 8.3.36 и 8.2.35.
Оба навыка ставятся в Codex одной командой: $skill-installer install both skills from https://github.com/openai/php2shell-checker. Если у вас есть только адрес сайта, нужен phpcheck-url, а при доступе к серверу подходит phpcheck-server. Без Codex скрипт запускается напрямую: node phpcheck.js "https://example.com" для сайта и node phpcheck.js --local для локального PHP. Правки кода со стороны OpenAI не принимает, баг-репорты и отзывы можно оставлять в issues.
Результат возвращается кодом выхода, поэтому проверку легко встроить в скрипт:
- OK, код 0: стабильная патч-версия выше порога для своей ветки;
- VULNERABLE, код 1: версия на пороге или ниже;
- UNKNOWN, код 3: версию не удалось получить, ветка незнакомая или сборка предрелизная;
- код 2: неверные аргументы.
С флагом --json вывод становится машиночитаемым, статус лежит в поле patch_status.
Под капотом проверка всего лишь сравнивает номера версий. Скрипт отправляет HEAD-запрос и читает заголовки X-Powered-By и Server. GET он шлёт, только если HEAD вернул 405 или 501, по редиректам не ходит и тело ответа не разбирает. Ответ OK опирается на допущение, что все следующие стабильные патчи ветки содержат исправление, а само исправление скрипт не проверяет. Заголовки можно скрыть или подменить, а бэкпорты из дистрибутивов могут не менять номер версии. Сами версии авторы предлагают сверять с официальным релизом безопасности PHP.
С номером версии непросто и у старых веток. PHP 8.1 и более ранние версии проект больше не поддерживает, но для 7.4, 8.0 и 8.1 опубликованы минимальные бэкпорты в исходниках, а дистрибутивы и LTS-поставщики могут собирать свои пакеты. В качестве временных мер PHP предлагает отключить session.upload_progress и перезапустить воркеры, но полноценным исправлением их не считает.
Отдельно OpenAI предупреждает, что результат UNKNOWN не означает, что сайт пропатчен.
Дальше
Агенты GPT-Rosalind сделали за 32 минуты работу на месяцы
За 32 минуты тысячи агентов GPT-Rosalind разобрали данные по миллионам клеток мозга мыши, на что у людей ушло бы от нескольких месяцев до года. И нашли в них возможную связь холестерина с гибелью нейронов. Вам доводилось находить в старых данных то, что при первом разборе пропустили?
Читайте также
- Модели OpenAI помогли найти критические уязвимости в PHP
- Битая картинка могла вскрыть Slack, Meta и GitHub
- Агенты OpenAI ломали RubyGems дырой, найденной в июле
- Fraggap: через баг ядра Linux агенты OpenAI взяли root
- Открытая библиотека проверяет подписи агентов OpenAI
- Первичные оповещения в OpenAI разбирают модели
Комментарии
Пока никто не написал. Будьте первым.
Присоединяйтесь к разговору
Войдите, чтобы оставить комментарий. Он появится после модерации.

