Плагин Happy Addons for Elementor для WordPress уязвим к небезопасной прямой ссылке на объект во всех версиях до 3.21.0 включительно через действие AJAX `ha_condition_update`. Это связано с тем, что метод validate_reqeust() использует current_user_can('edit_posts', $template_id) вместо current_user_can('edit_post', $template_id)` — не удается выполнить авторизацию на уровне объекта. Кроме того, в AJAX-действии `ha_get_current_condition` отсутствует проверка возможностей.
Это позволяет аутентифицированным злоумышленникам с доступом на уровне участника и выше изменять условия отображения любого опубликованного шаблона `ha_library`. Поскольку средство визуализации cond_to_html() выводит значения условий в атрибуты HTML без надлежащего экранирования (используя конкатенацию строк вместо esc_attr()), злоумышленник может внедрить атрибуты обработчика событий (например, onmouseover), которые выполняют JavaScript, когда администратор просматривает панель «Условия шаблона», что приводит к сохранению межсайтовых сценариев.
Показать оригинальное описание (EN)
The Happy Addons for Elementor plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 3.21.0 via the `ha_condition_update` AJAX action. This is due to the `validate_reqeust()` method using `current_user_can('edit_posts', $template_id)` instead of `current_user_can('edit_post', $template_id)` — failing to perform object-level authorization. Additionally, the `ha_get_current_condition` AJAX action lacks a capability check. This makes it possible for authenticated attackers, with Contributor-level access and above, to modify the display conditions of any published `ha_library` template. Because the `cond_to_html()` renderer outputs condition values into HTML attributes without proper escaping (using string concatenation instead of `esc_attr()`), an attacker can inject event handler attributes (e.g., `onmouseover`) that execute JavaScript when an administrator views the Template Conditions panel, resulting in Stored Cross-Site Scripting.
Характеристики атаки
Последствия
Строка CVSS v3.1