Xakep #305. Многошаговые SQL-инъекции
Еще в сентябре 2019 года неизвестный ИБ-исследователь обнаружил опасную уязвимость нулевого дня в vBulletin версий с 5.0 по 5.4. Баг получил идентификатор CVE-2019-16759 и позволял выполнить произвольные PHP-команды на удаленном сервере (без необходимости логиниться на самом форуме).
Хотя исправление для этого бага было выпущено спустя всего день после раскрытия информации о проблеме, далеко не все успели установить обновления вовремя. В итоге из-за этой уязвимости пострадали официальные форумы Comodo, форумы ZoneAlarm, а также итальянский и голландский ресурсы для секс-работников (в этих странах проституция является законной).
Казалось бы, с момента обнаружения и исправления бага уже прошло более полугода, и теперь уязвимость вряд ли может представлять для кого-то опасность. Однако в минувшие выходные ИБ-эксперт Амир Итемади (Amir Etemadieh) сообщил в своем блоге, что патч для проблемы CVE-2019-16759 неэффективен, его можно обойти, а баг по-прежнему могут эксплуатировать злоумышленники.
В доказательство своих слов эксперт обнародовал три PoC-эксплоита для уязвимости: на Bash, Python и Ruby. По сути, эти эксплоиты позволяют удаленно выполнять команды с помощью простой однострочной команды, отправляющей POST-запрос на сервер vBulletin.
0day RCE exploit on vBulletin 5xx
— h4x0r-dz (@h4x0r_dz) August 10, 2020
dork ; intext:"Powered by vBulletin"
POC
curl -s http://SITE/ajax/render/widget_tabbedcontainer_tab_panel -d 'subWidgets[0][template]=widget_php&subWidgets[0][config][code]=echo%20shell_exec("id"); exit;'#bugbounty #bugbountytips pic.twitter.com/DfqLivsskG
При этом исследователь не счел нужным уведомить разработчиков vBulletin о том, что проблема все еще актуальна. То есть на момент публикации статьи и новых эксплоитов патча для проблемы еще не было.
В итоге информация о старой-новой 0-day уязвимости быстро распространилась на Reddit, в Twitter, Discord, других социальных сетях, а также в хакерских сообществах. И, конечно же, атаки начались сразу. В результате с помощью этой уязвимости был взломан как минимум один форум: очень иронично, но пострадал форум ИБ-конференции DEF CON, которая завершилась в выходные.
A new VBulletin Zero Day got dropped yesterday by @Zenofex that revealed the CVE-2019-16759 patch was incomplete - within three hours https://t.co/LwbPuEoL5b was attacked, but we were ready for it. Disable PHP rendering to protect yourself until patched! https://t.co/7JtmEzcTFG pic.twitter.com/R4AcCoZt1B
— Jeff Moss (@thedarktangent) August 10, 2020
В настоящее время разработчики vBulletin уже подготовили патч для проблемы и рекомендуют установить его как можно скорее. Если же установка исправления по какой-то причине невозможна, Амир Итемади советует перейти в настройки конференции, и там отключить PHP, Static HTML и рендеринг Ad Module. Это тоже должно защитить от возможных атак.