Плагин FireBox — WooCommerce Popup Builder, Exit Intent Popup, Email Optin и Cart Abandonment для WordPress уязвим к удаленному выполнению кода во всех версиях до 3.1.10 включительно через функцию значения. Это происходит из-за тривиально обходного черного списка регулярных выражений в Executer::allowedToRun(), который не может заблокировать основные функции WordPress, такие как wp_insert_user, update_option и file_put_contents, в сочетании с отсутствием очистки значений правил условий PHP, хранящихся через конечную точку REST firebox_meta. Это позволяет аутентифицированным злоумышленникам с доступом на уровне автора и выше выполнять код на сервере.
На сайтах, обновленных с версии до 3.1.10, функция Migrator::preserveCampaignRoleAccess() автоматически предоставляет возможности edit_fireboxes иPublish_fireboxes роли автора, понижая эффективную точку входа до доступа на уровне автора.
Показать оригинальное описание (EN)
The FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 3.1.10 via the value function. This is due to a trivially bypassable regex blacklist in Executer::allowedToRun() that fails to block WordPress core functions such as wp_insert_user, update_option, and file_put_contents, combined with no sanitization of PHP condition rule values stored via the firebox_meta REST endpoint. This makes it possible for authenticated attackers, with author-level access and above, to execute code on the server. On sites upgraded from a version prior to 3.1.10, the Migrator::preserveCampaignRoleAccess() function automatically grants the edit_fireboxes and publish_fireboxes capabilities to the Author role, lowering the effective entry point to Author-level access.
Характеристики атаки
Последствия
Строка CVSS v3.1