Плагин WP Random Button для WordPress уязвим для хранимых межсайтовых сценариев через атрибуты короткого кода «cat», «nocat» и «text» короткого кода «wp_random_button» во всех версиях до 1.0 включительно. Это связано с недостаточной очисткой ввода и экранированием вывода в атрибутах короткого кода, предоставленных пользователем. В частности, функция random_button_html() напрямую объединяет параметры «cat» и «nocat» в атрибуты данных HTML без esc_attr(), а параметр «text» — в содержимое HTML без esc_html().
Это позволяет злоумышленникам, прошедшим проверку подлинности, с доступом на уровне участника и выше, внедрять произвольные веб-скрипты на страницы, которые будут выполняться всякий раз, когда пользователь обращается к внедренной странице.
Показать оригинальное описание (EN)
The WP Random Button plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'cat', 'nocat', and 'text' shortcode attributes of the 'wp_random_button' shortcode in all versions up to, and including, 1.0. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes. Specifically, the random_button_html() function directly concatenates the 'cat' and 'nocat' parameters into HTML data-attributes without esc_attr(), and the 'text' parameter into HTML content without esc_html(). This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
Характеристики атаки
Последствия
Строка CVSS v3.1