Плагин Instant Popup Builder для WordPress уязвим к неаутентифицированному произвольному выполнению короткого кода во всех версиях до 1.1.7 включительно. Это связано с тем, что функция handle_email_verification_page() создает строку короткого кода из предоставленных пользователем параметров GET (токен, электронная почта) и передает ее в do_shortcode() без надлежащей очистки символов квадратных скобок, а также с отсутствием проверок авторизации в ловушке инициализации. Пока применяются sanitize_text_field() и esc_attr(), ни одна из функций не удаляет и не экранирует символы квадратных скобок ([ и ]).
Регулярное выражение короткого кода WordPress использует [^\]\/]* для сопоставления содержимого внутри тегов короткого кода, что означает, что символ ] в значении токена преждевременно закрывает тег короткого кода. Это позволяет неаутентифицированным злоумышленникам внедрять и выполнять произвольные зарегистрированные короткие коды путем создания параметра вредоносного токена, содержащего ], за которым следует произвольный синтаксис короткого кода.
Показать оригинальное описание (EN)
The Instant Popup Builder plugin for WordPress is vulnerable to Unauthenticated Arbitrary Shortcode Execution in all versions up to and including 1.1.7. This is due to the handle_email_verification_page() function constructing a shortcode string from user-supplied GET parameters (token, email) and passing it to do_shortcode() without properly sanitizing square bracket characters, combined with missing authorization checks on the init hook. While sanitize_text_field() and esc_attr() are applied, neither function strips or escapes square bracket characters ([ and ]). WordPress's shortcode regex uses [^\]\/]* to match content inside shortcode tags, meaning a ] character in the token value prematurely closes the shortcode tag. This makes it possible for unauthenticated attackers to inject and execute arbitrary registered shortcodes by crafting a malicious token parameter containing ] followed by arbitrary shortcode syntax.
Характеристики атаки
Последствия
Строка CVSS v3.1