Плагин Product Filter for WooCommerce от WBW для WordPress уязвим к несанкционированной потере данных из-за отсутствия проверки возможностей во всех версиях до 3.1.2 включительно. Это происходит из-за того, что структура MVC плагина динамически регистрирует неаутентифицированные обработчики AJAX через перехватчики `wp_ajax_nopriv_` без проверки возможностей пользователя, в сочетании с магическим методом `__call()` базового контроллера, пересылающим вызовы неопределенных методов на уровень модели, а метод `havePermissions()` по умолчанию принимает значение `true`, когда никакие разрешения явно не определены. Это позволяет неаутентифицированным злоумышленникам обрезать таблицу базы данных `wp_wpf_filters` плагина с помощью созданного AJAX-запроса с `action=delete`, безвозвратно уничтожая все конфигурации фильтров.
Показать оригинальное описание (EN)
The Product Filter for WooCommerce by WBW plugin for WordPress is vulnerable to unauthorized data loss due to a missing capability check in all versions up to, and including, 3.1.2. This is due to the plugin's MVC framework dynamically registering unauthenticated AJAX handlers via `wp_ajax_nopriv_` hooks without verifying user capabilities, combined with the base controller's `__call()` magic method forwarding undefined method calls to the model layer, and the `havePermissions()` method defaulting to `true` when no permissions are explicitly defined. This makes it possible for unauthenticated attackers to truncate the plugin's `wp_wpf_filters` database table via a crafted AJAX request with `action=delete`, permanently destroying all filter configurations.
Характеристики атаки
Последствия
Строка CVSS v3.1