Плагин The Events Calendar для WordPress уязвим к удаленному выполнению кода во всех версиях до 6.17.4 включительно через функцию is_safe_widget_instance. Это происходит из-за недостаточной защиты в is_safe_widget_instance, которую можно обойти, поскольку PHP запускает магические методы во время предварительного анализа в сочетании с Enable_rendering_widget_copied(), создавая действительный атрибут целостности wp_hash до достижения unserialize(). Это позволяет неаутентифицированным злоумышленникам выполнять код на сервере.
Это можно использовать без аутентификации или одобрения, поскольку шаблон одного события плагина V2 запускает do_blocks() над буферизованным HTML-комментарием, а WordPress возвращает URL-адрес хеша модерации, который позволяет неаутентифицированному комментатору немедленно просмотреть свой собственный ожидающий комментарий, доставляя внедренную разметку блока в уязвимый путь кода до того, как произойдет какая-либо модерация. Для этого необходимо, чтобы комментарии были включены и видны на событиях.
Показать оригинальное описание (EN)
The The Events Calendar plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 6.17.4 via the is_safe_widget_instance function. This is due to insufficient protection in is_safe_widget_instance, which can be bypassed because PHP fires magic methods during its pre-parse, combined with enable_rendering_widget_copied() forging a valid wp_hash integrity attribute before unserialize() is reached. This makes it possible for unauthenticated attackers to execute code on the server. This is exploitable without authentication or approval because the plugin's V2 single-event template runs do_blocks() over buffered comment HTML, and WordPress returns a moderation-hash URL that allows an unauthenticated commenter to immediately view their own pending comment, delivering the injected block markup to the vulnerable code path before any moderation occurs. This does require comments to be enabled and visible on events.
Характеристики атаки
Последствия
Строка CVSS v3.1