В плагине WP Live Chat Support обнаружили уязвимость

17 мая 2019 г., пятница

Киберпреступники могут внедрить вредоносный код на 60 тыс. WordPress-сайтов через XSS-баг в расширении.

Аналитики компании Sucuri нашли в WordPress-плагине WP Live Chat Support опасный баг. Уязвимость позволяет неавторизованному злоумышленнику провести XSS-атаку и внедрить вредоносный код на все страницы сайта, которые используют расширение. После получения информации о недостатке разработчики исправили его в очередном релизе своего продукта.

Проблема была связана с некорректным применением запроса admin_init. Как выяснили исследователи, создатели WP Live Chat Support использовали этот хук для вызова функции wplc_head_basic, отвечающей за обновление параметров плагина. При этом механизм проверки прав пользователя на совершение подобных действий в коде программы отсутствовал. Специалисты Sucuri утверждают, что поскольку admin_init работает через системные утилиты admin-post.php или admin-ajax.php, нападающий способен обновить параметр wplc_custom_js и разместить в нем свой код.

Таким образом, киберпреступник может добавить вредоносный скрипт на любую страницу уязвимого сайта, где установлен WP Live Chat Support. Для атаки злоумышленнику не требуются дополнительные привилегии и даже авторизация на веб-ресурсе. Нападающие могут действовать при помощи относительно простых ботов, автоматически закрепляя свой код в заголовках страниц через параметр wplc_head_basic.

Исследователи сообщили разработчикам о баге 30 апреля 2019 года, а уже 15 мая создатели расширения выпустили WP Live Chat Support версии 8.0.27, в котором уязвимость была закрыта. Всем пользователям плагина рекомендуется как можно скорее установить патч.

По данным репозитория WordPress, проблемное расширение установлено на более чем 60 тыс. сайтов. Как показывает опыт, киберпреступники отслеживают информацию о багах в расширениях и пытаются найти непропатченные ресурсы, даже если разработчики уже выпустили заплатку. Так, в апреле этого года злоумышленники начали атаковать пользователей дополнения Yuzo Related Posts сразу после публикации данных о наличии в нем уязвимостей. Также как и в случае с WP Live Chat Support, недостаток Yuzo был связан с некорректным применением запроса admin_init.

Threatpost