Плагин «Мой календарь — доступный менеджер событий» для WordPress уязвим к хранимым межсайтовым сценариям через атрибут «template» короткого кода «[my_calendar_upcoming]» во всех версиях до 3.7.3 включительно. Это связано с использованием `stripcslashes()` для значений атрибутов короткого кода, предоставленных пользователем, в функции `mc_draw_template()`, которая декодирует шестнадцатеричные escape-последовательности в стиле C (например, от `\x3c` до `<`) во время рендеринга, минуя очистку контента WordPress `wp_kses_post()`, которая выполняется во время сохранения. Это позволяет злоумышленникам, прошедшим проверку подлинности, с доступом на уровне участника и выше, внедрять произвольные веб-скрипты на страницы, которые будут выполняться всякий раз, когда пользователь обращается к внедренной странице.
Показать оригинальное описание (EN)
The My Calendar – Accessible Event Manager plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the `template` attribute of the `[my_calendar_upcoming]` shortcode in all versions up to, and including, 3.7.3. This is due to the use of `stripcslashes()` on user-supplied shortcode attribute values in the `mc_draw_template()` function, which decodes C-style hex escape sequences (e.g., `\x3c` to `<`) at render time, bypassing WordPress's `wp_kses_post()` content sanitization that runs at save time. 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