Уязвимост, допускаща подмяна на 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.

С получен ключ атакуващият можеше да прави промени в каквито и да е изскачащи блокове, показвани с помощта на OptinMonster, включително да организира изпълнението на собствен JavaScript код. Получавайки възможността да изпълни своя JavaScript код в контекста на сайта, атакуващият можеше да пренасочи потребители към собствения си сайт или да организира подмяна на привилегирована сметка в уеб интерфейса при изпълнението на подменения JavaScript код от администратора на сайта. Има достъп до уеб интерфейса, атакуващият можеше да осигури изпълнението на собствен PHP код на сървър.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster