Плагин формы запроса к сообщениям или страницам для WordPress уязвим к хранимому межсайтовому сценарию через поле «Заголовок формы» в версиях до 1.0 включительно. Это связано с недостаточной очисткой ввода при сохранении с помощью update_option() и отсутствием экранирования вывода при отображении сохраненного значения. Уязвимость существует в двух местах: (1) на странице настроек плагина в строке 180 inq_form.php, где значение отображается в атрибуте HTML без esc_attr(), и (2) в выводе короткого кода внешнего интерфейса в строке 139 inquery_form_to_posts_or_pages.php, где значение выводится в HTML-контенте без esc_html().
Это позволяет прошедшим проверку подлинности злоумышленникам с доступом на уровне администратора внедрять произвольные веб-скрипты, которые будут выполняться всякий раз, когда пользователь обращается к странице настроек плагина или просматривает страницу, содержащую короткий код [inquiry_form].
Показать оригинальное описание (EN)
The Inquiry Form to Posts or Pages plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'Form Header' field in versions up to and including 1.0. This is due to insufficient input sanitization when saving via update_option() and lack of output escaping when displaying the stored value. The vulnerability exists in two locations: (1) the plugin settings page at inq_form.php line 180 where the value is echoed into an HTML attribute without esc_attr(), and (2) the front-end shortcode output at inquery_form_to_posts_or_pages.php line 139 where the value is output in HTML content without esc_html(). This makes it possible for authenticated attackers with administrator-level access to inject arbitrary web scripts that will execute whenever a user accesses the plugin settings page or views a page containing the [inquiry_form] shortcode.
Характеристики атаки
Последствия
Строка CVSS v3.1