Удалённо эксплуатируемая уязвимость в форумном движке MyBB

В свободном движке для создания web-форумов MyBB выявлено несколько уязвимостей, которые в сочетании позволяют организовать выполнение PHP-кода на сервере. Проблемы проявляются в выпусках с 1.8.16 по 1.8.25 и устранены в обновлении MyBB 1.8.26.

Первая уязвимость (CVE-2021-27889) позволяет непривилегированному участнику форума встроить JavaScript-код в публикации, обсуждения и приватные сообщения. Форум допускает добавления изображений, списков и мультимедийных данных через специальные теги, которые преобразуются в HTML-разметку. Из-за ошибки в коде преобразования подобных тегов, конструкция с двойным URL

[img]https://xyzsomething.com/image?)https://x.com/onerror=alert(1);//[/img]
преобразуется в

Вторая уязвимость (CVE-2021-27890) даёт возможность осуществить подстановку SQL-команд и добиться выполнения своего кода. Проблема возникает из-за подстановки $theme[‘templateset’] в тело SQL-запроса без должной чистки и выполнении компонентов ${…} через вызов eval. Например, можно организовать запуск PHP-команды passthru(‘ls’) при обработке темы оформления с конструкцией вида:

‘) AND 1=0 UNION SELECT title, ‘${passthru(‘ls’)}’ from mybb_templates —

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

Release. Ссылка here.