Опубликован эксплойт для уже закрытой pre-auth RCE в vBulletin
27 июля SSD Secure Disclosure опубликовала технический разбор и рабочий proof-of-concept для уязвимости CVE-2026-61511 — неаутентифицированного удалённого выполнения кода в форумном движке vBulletin. Атака не требует ни учётной записи, ни административного доступа, ни участия другого пользователя: достаточно одного HTTP-запроса, который в итоге достигает функции PHP eval() и выполняет команду на непропатченном сервере.
Как устроена уязвимость
Уязвимый код находится в /includes/vb5/template/runtime.php, в методе vB5_Template_Runtime::runMaths(), обрабатывающем встроенные математические выражения в шаблонах. Функция вырезает все символы вне разрешённого набора, а остаток передаёт прямо в eval(). Фильтр блокирует буквы, но пропускает цифры, скобки, конкатенацию, арифметические и битовые операторы, включая XOR. Этого достаточно, чтобы без единой буквы собрать строки и имена вызываемых функций — приём, который в отчёте называют «phpfuck».
Добраться до уязвимого кода можно через публичный маршрут ajax/render/pagenav: штатный шаблон подставляет присланное посетителем значение pagenav[pagenumber] в тег {vb:math}, откуда оно и попадает в runMaths(). В PoC этот механизм используется для восстановления функции system и выполнения команды ОС с возвратом вывода в HTTP-ответе.
«Zero-day», который уже закрыт
Баннер эксплойта именует находку zero-day, однако это преувеличение. Патчи для веток 6.2.1, 6.2.0 и 6.1.6 вышли в конце июня, а исправленная версия 6.2.2 — 1 июля, почти за четыре недели до публикации. Затронуты, по данным SSD, версии 6.2.1 и ниже, а также 6.1.6 и ниже; нижнюю границу авторы не указывают. Облачные сайты vBulletin, по заявлению вендора, уже защищены.
Авторство SSD приписывает неназванному исследователю, но опубликованный код подписан «EgiX» — это псевдоним Эгидио Романо, ранее раскрывшего цепочку выполнения кода через шаблонизатор vBulletin в 2025 году. Любопытная деталь: в скрипте есть опечатка — буква вместо цифры, из-за которой он не запускается без правки. Ошибка тривиальна и на саму уязвимость не влияет. The Hacker News воспроизвела логику фильтрации локально: с исправленной опечаткой безобидная тестовая нагрузка strlen() отработала, без неё PHP оставался синтаксически невалидным.
Признаков эксплуатации в реальных атаках на 27 июля не зафиксировано, в каталоге CISA KEV уязвимость не значится, официального балла CVSS нет — NVD ранее в этом году перестала штатно обогащать новые CVE оценками.
Знакомый сценарий
Это уже не первая pre-auth RCE в том же углу vBulletin: майская цепочка 2025 года (CVE-2025-48827 и CVE-2025-48828) эксплуатировала шаблонизатор иным путём и подверглась атакам через считанные дни после раскрытия. Схема повторяется из раза в раз: сначала тихий патч, через несколько недель — рабочий эксплойт, а к этому моменту множество доступных из интернета форумов по-прежнему работают на уязвимых сборках. Основной риск сейчас сосредоточен именно в самостоятельно размещённых, не обновлённых установках — администраторам следует накатить патч своей ветки или перейти на 6.2.2.
Источник: The Hacker News
Комментарии
Войдите, чтобы комментировать.