Две критические уязвимости PHP натолкнулись на неожиданное препятствие
В рамках челленджа используется PHP 8.4.26 — версия, уязвимая для двух критических уязвимостей, получивших общее название PHP2Shell. Обе уязвимости имеют рейтинг серьезности 9,2, а экстренные исправления были выпущены 21 октября.
Уязвимости CVE-2026-109618 и CVE-2026-109619 связаны с ошибками управления памятью, которые потенциально могут привести к удалённому выполнению кода. В определённых конфигурациях злоумышленники могли бы выполнять команды без аутентификации. Но вот здесь история принимает неожиданный поворот.
Один из исследователей, изучивший эту проблему, публично выразил сомнение в том, действительно ли данная конфигурация создает уязвимую поверхность для атаки. Он определил использование nginx и PHP 8.4.26 по заголовкам HTTP-ответов, независимо подтвердил наличие PHP версии 8.2 или более пофингерпринту и сравнил поведение сервера с результатами тестирования в локальной среде.
Сначала предполагалось, что nginx работает в паре с PHP-FPM или Apache, но анализ указал на нечто неожиданное: наиболее близкое по поведению соответствие, по-видимому, заключалось в том, что nginx перенаправлял запросы на встроенный веб-сервер PHP, запускаемый из командной строки.
Является ли «Bitcoin Bounty» невыполнимой задачей?
Анализ выявил ещё более провокационную возможность, касающуюся точки входа на веб-сайт. Ответы сервера соответствовали поведению встроенного сервера PHP, выдающего статический файл index.html вместо выполнения скрипта index.php. Если эта интерпретация верна, то объявленные уязвимости могут оказаться недоступны через разрешённую для конкурса поверхность атаки.
Это кардинально изменило бы характер соревнования. Хакеры не обязательно терпели бы неудачу при попытке эксплуатировать две критические уязвимости. Возможно, они атаковали бы среду, в которой необходимые условия никогда не возникают. Автор исследования выразил сомнение в том, проводится ли конкурс добросовестно, но признал, что выводы могут быть ошибочными, и приветствовал исправления.
Важно отметить, что одного только анализа отпечатков ответов недостаточно для установления полной архитектуры сервера или доказательства невозможности эксплуатации уязвимостей. Тем не менее, гипотеза пока остается непроверенной. Между тем, лежащие в основе уязвимости PHP реальны, и администраторам, использующим уязвимые версии, по-прежнему необходимо установить исправления в свои системы.
На данный момент проект «Steal My Bitcoin» представляет собой всё более любопытное зрелище: публично объявленная награда в биткойнах, толпа начинающих хакеров и растущее подозрение, что у цифрового хранилища, возможно, и вовсе нет доступной двери.