Плагин Paypal Shortcode для WordPress уязвим к хранимым межсайтовым сценариям через атрибуты короткого кода «сумма» и «имя» во всех версиях до 0.3 включительно. Это связано с недостаточной очисткой ввода и экранированием вывода в атрибутах короткого кода, предоставленных пользователем. Функция swer_paypal_shortcode() извлекает атрибуты короткого кода с помощью Extract() и shortcode_atts() в строке 89, затем напрямую объединяет значения $name и $amount в атрибуты значений входного элемента HTML в строках 105-106 без применения esc_attr() или какой-либо другой экранирующей функции.
Это позволяет злоумышленникам, прошедшим проверку подлинности, с доступом на уровне участника и выше, внедрять произвольные веб-скрипты на страницы, которые будут выполняться всякий раз, когда пользователь обращается к внедренной странице.
Показать оригинальное описание (EN)
The Paypal Shortcode plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'amount' and 'name' shortcode attributes in all versions up to, and including, 0.3. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes. The swer_paypal_shortcode() function extracts shortcode attributes using extract() and shortcode_atts() at line 89, then directly concatenates the $name and $amount values into HTML input element value attributes at lines 105-106 without applying esc_attr() or any other escaping function. 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