Atomic Edge analysis of CVE-2025-15484: This is an unauthenticated remote code execution vulnerability in the Order Notification for WooCommerce plugin versions up to 3.6.2. The vulnerability allows attackers to bypass REST API permission checks and execute arbitrary code due to a flawed permission hook.
The root cause lies in the `woa_check_permissions` function within `/woc-order-alert/includes/class-hooks.php` (lines 35-44 in the vulnerable version). This function overrides WooCommerce REST API permission checks by always returning `true` if the user has `manage_woocommerce` capability. However, the function is registered via `add_filter( ‘woocommerce_rest_check_permissions’, array( $this, ‘woa_check_permissions’ ), 10, 4 )` on line 28 without any authentication check. An unauthenticated attacker can craft REST API requests that trigger this permission bypass, potentially allowing actions that should require admin-level access.
Exploitation method: An unauthenticated attacker sends a crafted HTTP request to any WooCommerce REST API endpoint (e.g., `/wp-json/wc/v3/orders`, `/wp-json/wc/v3/products`, etc.). The attacker can include a malicious payload in the request body (such as PHP code in a product description or custom field) that, if executed, achieves remote code execution. The `woa_check_permissions` filter grants full access because it checks `current_user_can( ‘manage_woocommerce’ )` which can be triggered by unauthenticated users under certain conditions (e.g., via specific REST API requests intended for admin). The result is an authentication bypass that allows arbitrary REST API operations.
The patch removes the `add_filter` line for `woocommerce_rest_check_permissions` and the entire `woa_check_permissions` method. By removing this filter, the plugin no longer overrides WooCommerce’s default REST API permission checks. After the patch, unauthenticated requests to REST API endpoints are subject to standard WooCommerce authentication and authorization, preventing the bypass.
The impact is critical: an unauthenticated attacker can gain full administrative access to the WooCommerce REST API. This enables reading sensitive order data, modifying products, creating new admin users, or executing arbitrary PHP code via custom fields or product data. The CVSS score of 9.8 confirms the severity, indicating potential for complete compromise of the WordPress installation.






