Уязвимость ставит под угрозу более 4 миллионов сайтов, использующих WPBakery

27 июля обнаружено уязвимость в WPBakery, плагине для WordPress, установленном на более 4,3 миллионах сайтов. В частности на нашем WordPress хостинге около 5% сайтов пользуются этим плагином. Эта уязвимость позволяла авторизованным злоумышленникам с правами участника, автора или выше вводить вредоносный JavaScript в публикации.

Исследователи раскрыли все подробности авторам плагина 29 июля 2020г. Разработчики подтвердили уязвимость и сообщили, что их команда работает над над исправлением ошибок. После длительного периода был выпущен патч-обновление 24 сентября 2020, исправляющий уязвимость.

Мы рекомендуем немедленно обновить плагин до последней версии, или к 6.4.1 или выше. Также рекомендуем проверить, нет ли на вашем сайте WordPress учетных записей пользователей, которым вы не доверяете.

Конструктор страниц WPBakery — самый популярный плагин конструктор для WordPress. Это очень простой в использовании инструмент, который позволяет владельцам сайтов создавать собственные страницы с помощью возможностей drag’n’drop (перетаскивание).

К сожалению, в плагине была проблема в коде, которая могла предоставить пользователям, что работают с правами участников и авторов, возможность вводить вредоносный JavaScript на страницы и публикации. Эта проблема также давала этим пользователям возможность редактировать записи других пользователей. Плагин явно выключил любые проверки HTML-фильтрации через kses_remove_filters () по умолчанию в функции saveAjaxFe в одном из своих файлов. Это означало, что любой пользователь, имеющий доступ к конструктору WPBakery, может вводить HTML и JavaScript в любое место публикации с помощью конструктора страниц.

В последней версии WPBakery пользователи низшего уровня доступа больше не имеют unfiltered_html возможностей по умолчанию, однако администраторы могут предоставить это разрешение, если захотят. Кроме того, пользователи без соответствующих привилегий больше не могут редактировать записи других пользователей, не имеют доступ к конструктору страниц, если это не разрешено, или не могут использовать шорткоды, которые могут позволить инъекцию вредного JavaScript.