Плагин Platnosci Online Blue Media (Autopay) для WordPress уязвим к хранимым межсайтовым сценариям в версиях до 5.0.0 включительно через параметр POST «bm_woocommerce_css_editor_content». Это связано с тем, что метод Css_Editor::handle_save() подключен к хуку WordPress 'init' с помощью Settings_Manager::init_once() без проверки возможностей, без проверки nonce и без очистки на входе - необработанное значение $_POST записывается в параметр 'woocommerce_bluemedia_settings' через update_option(), а затем отображается непосредственно внутри блока <style> на странице оформления заказа WooCommerce с помощью Css_Frontend::print_to_wp_head() без экранирования вывода. Это позволяет злоумышленникам, не прошедшим проверку подлинности, внедрять произвольные веб-скрипты на страницы, которые будут выполняться всякий раз, когда пользователь обращается к внедренной странице (странице оформления заказа).
Показать оригинальное описание (EN)
The Platnosci Online Blue Media (Autopay) plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 5.0.0 via the 'bm_woocommerce_css_editor_content' POST parameter. This is due to the Css_Editor::handle_save() method being wired to the WordPress 'init' hook by Settings_Manager::init_once() with no capability check, no nonce verification, and no sanitization on the input — the raw $_POST value is written to the 'woocommerce_bluemedia_settings' option via update_option(), then later echoed directly inside a <style> block on the WooCommerce checkout page by Css_Frontend::print_to_wp_head() with no output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page (the checkout page).
Характеристики атаки
Последствия
Строка CVSS v3.1