Исследователи из WebARX Security обнаружили опасную уязвимость в популярном плагине AMP для WordPress.

Она позволяла пользователям сайтов на WordPress с любым уровнем привилегий вносить изменения, требующие наличия прав администратора, за счет элемента ampforwp_save_steps_data, вызываемого для сохранения настроек в процессе инсталляции.

Таким образом злоумышленники могли осуществлять на сайте различные действия, в том числе размещать рекламу, внедрять собственный HTML-код, а также вручную загружать другие плагины WordPress, майнеры криптовалюты или вредоносное ПО на Javascript.

По словам специалистов WebARX Security, в плагине не предусмотрен механизм проверки уровня привилегий текущего авторизованного пользователя.

Вызовы API, по сути, являющиеся «крючками» используемыми администраторами для взаимодействия со сторонними и внешними функциями, необходимыми для управления сайтом, осуществляются с помощью фреймворка Ajax.

В результате доступ к API, который должен предоставляться только администраторам, мог получить любой авторизованный на сайте пользователь, воспользовавшийся этим фреймворком.
«В разработке плагинов для WordPress существует возможность регистрации “крючков” Ajax, позволяющих вызывать функционал непосредственно.

Главная проблема заключается в том, что эти “крючки” Ajax может взывать любой зарегистрированный пользователь (независимо от уровня привилегий)», – пояснили исследователи.
В настоящий момент уязвимость уже исправлена разработчиками Wordpress, однако вероятные последствия ее наличия на протяжении долгого времени еще предстоит выявить.