Популярный плагин OptinMonster для WordPress, установленный около миллиона раз, имел серьезную уязвимость. Проблема позволяла неавторизованной стороне получить доступ к API, что в итоге приводило к раскрытию конфиденциальной информации и внедрению кода.
Уязвимость CVE-2021-39341 была обнаружена исследовательницей Wordfence Хлоей Чемберленд (Chloe Chamberland) еще в сентябре текущего года. Исправление было выпущено 7 октября 2021 года, так что пользователям плагина OptinMonster рекомендуется обновить его до версии 2.6.5 или новее как можно быстрее.
Маркетинговый плагин OptinMonster используется для интеграции на WordPress-сайты маркетинговых инструментов и системы рассылки. По сути, это инструмент для монетизации и генерации лидов, который развернут на миллионе сайтов благодаря простоте использования и множеству функций.
Чемберленд пишет, что обнаруженный баг позволял любому посетителю таких сайтов извлечь конфиденциальную информацию, внедрить произвольный JavaScript и выполнить другие вредоносные действия.
Дело в том, что возможности OptinMonster зависят от эндпоинтов API, которые обеспечивают бесшовную интеграцию и упрощают процесс работы. Однако реализация этих эндпоинтов не всегда безопасна и особенно это касается /wp-json/omapp/v1/support. Данный эндпоинт может раскрывать такие данные, как полный путь к сайту на сервере, ключи API, используемые для запросов, и многое другое.
Злоумышленник, заполучивший ключи API, получает возможность внести изменения в учетные записи OptinMonster, разместить вредоносный код JavaScript на сайте и так далее. Причем уязвимый сайт будет выполнять такой код каждый раз, когда посетитель активирует элемент (всплывающее окно) OptinMonster. Хуже того, атакующему даже не пришлось бы проходить аутентификацию на целевом сайте для доступа эндпоинту API, так как HTTP-запрос обходил проверки безопасности при определенных, легко выполняемых условиях.
В своем отчете Чемберленд резюмирует, что, в сущности, весь API плагина нуждается в пересмотре. К счастью, с этим согласны и сами разработчики OptinMonster, которые пообещали исправить и другие проблемы API в ближайшие несколько недель.
Пока же пользователям рекомендуется не только обновить плагин до безопасной версии, но и сгенерировать новые ключи API, так как все ключи, которые могли быть украдены, аннулированы разработчиками.
Источник: xakep