Забыл обновиться — потерял всё. Баг в vBulletin превращает тысячи форумов в лёгкую добычу

Один шаблон и всё летит в тартарары. Спасибо, PHP 8.1.


n8a64w8bvn52o5qimydvy1i79g8xn88n.jpg


В популярных форумах на vBulletin вновь обнаружены дыры, через которые можно выполнить произвольный код прямо на сервере — без логина и пароля. Речь идёт сразу о двух критических уязвимостях, получивших идентификаторы CVE-2025-48827 и CVE-2025-48828. Первая из них уже используется в реальных атаках, а вторая позволяет довести цепочку до полноценного захвата контроля над системой.

Уязвимости были выявлены 23 мая 2025 года независимым исследователем Эджидио Романо (EgiX), который опубликовал подробный технический разбор с описанием механизмов эксплуатации. В центре всей конструкции — изменения в поведении PHP начиная с версии 8.1 и ошибки в логике работы шаблонизатора vBulletin. Вместе они дают неожиданный и опасный результат: удалённый, неаутентифицированный запуск произвольных команд на сервере.

Первая проблема связана с неправильным использованием Reflection API. Этот механизм позволяет вызывать защищённые методы объектов, и раньше требовал явного обхода ограничений доступа. Однако в PHP 8.1 поведение изменилось: определённые вызовы с помощью отражения больше не требуют принудительного открытия доступа. И если в коде это не было учтено — метод можно вызвать напрямую, без каких-либо обходных манипуляций.

В vBulletin таких вызовов достаточно. Например, через уязвимый метод replaceAdTemplate можно внедрить специально подготовленный шаблон прямо из URL-запроса. Второй баг в шаблонизаторе — CVE-2025-48828 — позволяет обойти фильтрацию "небезопасных функций" за счёт использования PHP-хаков, вроде вызовов переменных как функций (${'assert'} и аналогичные конструкции). Таким образом, система принимает вредоносный код как допустимый.

Комбинация этих двух ошибок превращается в мощный инструмент: достаточно одного запроса, чтобы внедрить произвольную команду и запустить её на сервере от имени веб-пользователя. В большинстве случаев это www-data на Linux, что открывает путь к скачиванию бэкдоров, запуску скриптов и углублению в систему.

Через три дня после публикации Романо, 26 мая, другой исследователь — Райан Дьюхерст — зафиксировал реальные попытки эксплуатации. Он проанализировал логи своих honeypot-серверов и обнаружил подозрительные запросы к уязвимому endpoint'у /ajax/api/ad/replaceAdTemplate. Все признаки указывали на сканирование и попытки внедрения зловредного PHP-кода.

Одного из злоумышленников удалось отследить — атаки исходили с IP-адресов, зарегистрированных в Польше. В запросах явно прослеживалась попытка загрузить удалённую web-оболочку, которая бы обеспечила постоянный доступ к системе и возможность выполнять произвольные команды через интерфейс браузера.

Хотя пока зафиксированы только атаки, использующие первую уязвимость (CVE-2025-48827), логика опубликованной цепочки явно предполагает дальнейшую эксплуатацию второй. Все необходимые компоненты уже есть, включая публичный PoC и даже готовые шаблоны для системы автоматического сканирования уязвимостей Nuclei, которые появились уже 24 мая. По сути, сценарий атаки уже упакован и доступен.

Особую тревогу вызывает то, что эти баги затрагивают не только последние релизы, но и весь диапазон от vBulletin 5.0.0 до 5.7.5 и от 6.0.0 до 6.0.3, при условии работы на PHP 8.1 и выше. При этом сами обновления, закрывающие уязвимости, были выпущены ещё в прошлом году — в виде Patch Level 3 для 5.7.5 и Patch Level 1 для всех версий 6.*. Однако разработчики сделали это без громких анонсов, поэтому многие администраторы попросту не знали о критической важности патча.

Как следствие, значительное количество форумов по-прежнему остаётся уязвимыми. Даже те, кто установил последние мажорные версии, но не применил минорные обновления, находятся в зоне риска. Особенно это касается проектов с высокой посещаемостью, где атака может привести к краже данных пользователей, модификации контента и полной компрометации ресурса.

vBulletin остаётся одним из самых распространённых движков для форумов на PHP/MySQL, его используют тысячи сайтов по всему миру. За счёт модульной архитектуры и поддержки мобильных API он подходит как для небольших сообществ, так и для крупных коммерческих площадок. Но именно гибкость и расширяемость платформы обеспечивают широкую поверхность атаки — и в очередной раз доказывают, насколько важно регулярно обновлять даже казалось бы "неопасные" компоненты.

Ранее vBulletin уже становился объектом громких взломов. В прошлом уязвимости в его коде позволяли атакующим получить доступ к базе данных пользователей, выкладывать вредоносные объявления и использовать платформу как точку входа в более крупные системы. Текущие баги — из той же категории: простые в применении, но чрезвычайно разрушительные при массовом применении.

Разработчики рекомендуют администраторам форумов срочно установить обновления безопасности и, если возможно, перейти на версию vBulletin 6.1.1, в которой описанные проблемы устранены. В противном случае сайты остаются открытыми для атак через шаблоны, API и уязвимости уровня ядра.