Плагин WP Blockade для WordPress уязвим к отсутствию авторизации во всех версиях до 0.9.14 включительно. Плагин регистрирует хук действия admin_post «wp-blockade-shortcode-render», который сопоставляется с функцией render_shortcode_preview(). В этой функции отсутствует проверка возможностей (current_user_can()) и проверка nonce, что позволяет любому аутентифицированному пользователю выполнять произвольные короткие коды WordPress.
Функция принимает предоставленный пользователем параметр «короткий код» из $_GET, передает его через Stripslashes() и напрямую выполняет его через do_shortcode(). Это позволяет аутентифицированным злоумышленникам с доступом на уровне подписчика и выше выполнять произвольные короткие коды, что может привести к раскрытию информации, повышению привилегий или другим последствиям в зависимости от того, какие короткие коды зарегистрированы на сайте (например, короткие коды из других плагинов, которые отображают конфиденциальные данные, выполняют действия или включают файлы).
Показать оригинальное описание (EN)
The WP Blockade plugin for WordPress is vulnerable to Missing Authorization in all versions up to and including 0.9.14. The plugin registers an admin_post action hook 'wp-blockade-shortcode-render' that maps to the render_shortcode_preview() function. This function lacks any capability check (current_user_can()) and nonce verification, allowing any authenticated user to execute arbitrary WordPress shortcodes. The function takes a user-supplied 'shortcode' parameter from $_GET, passes it through stripslashes(), and directly executes it via do_shortcode(). This makes it possible for authenticated attackers, with Subscriber-level access and above, to execute arbitrary shortcodes, which could lead to information disclosure, privilege escalation, or other impacts depending on what shortcodes are registered on the site (e.g., shortcodes from other plugins that display sensitive data, perform actions, or include files).
Характеристики атаки
Последствия
Строка CVSS v3.1