Уязвимость, допускающая подстановку JavaScript-кода через WordPress-плагин OptinMonster
В WordPress-дополнении OptinMonster, имеющем более миллиона активных установок и применяемом для организации вывода всплывающих уведомлений и предложений, выявлена уязвимость (CVE-2021-39341), позволяющая разместить свой JavaScript-код на сайте, использующем указанное дополнение.
Уязвимость устранена в выпуске 2.6.5. Для блокирования доступа через захваченные ключи после установки обновления разработчики OptinMonster аннулировали все ранее созданные ключи доступа к API и добавили ограничения по использованию ключей WordPress-сайтов для изменения кампаний OptinMonster.
Проблема вызвана наличием REST-API /wp-json/omapp/v1/support
, доступ к которому был возможен без аутентификации — запрос выполнялся без дополнительных проверок при наличии в заголовке Referer строки «https://wp.app.optinmonster.test» и при установке типа HTTP-запроса в «OPTIONS» (переопределяется при помощи HTTP-заголовка «X-HTTP-Method-Override»).
Среди данных, возвращаемых при обращении к рассматриваемому REST-API, присутствовал ключ доступа, позволяющий отправлять запросы к любым обработчикам REST-API.