CVE-2025-49287
Executive Summary
CVE-2025-49287 is a Missing Authorization vulnerability in the WordPress plugin Product Feed for WooCommerce by WebToffee, affecting versions up to and including 2.2.8. This flaw allows an unauthenticated attacker to exploit incorrectly configured access control security levels, potentially leading to unauthorized access to product feed data or configuration changes. The vulnerability has a CVSS score of 4.3 (Medium) and an EPSS score of 0.0%, indicating low exploitation probability currently. No public proof-of-concept or patch is available at this time.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability affects a WordPress plugin distributed via the official WordPress plugin repository. Users are advised to monitor the plugin’s update channel and apply any security patches as soon as they become available. Since the plugin is part of the WordPress ecosystem, supply chain risks include compromised updates or malicious forks.
CVSS Breakdown & Threat Level
- CVSS Score: 4.3 (Medium)
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: None (PR:N)
- User Interaction: None (UI:N)
- Scope: Unchanged (S:U)
- Confidentiality Impact: None (C:N)
- Integrity Impact: Low (I:L)
- Availability Impact: None (A:N)
The threat level is Medium due to low complexity and no required privileges, but the impact is limited to integrity only.
Deep Dive & Mechanics
The vulnerability resides in the Product Feed for WooCommerce plugin’s authorization checks. The plugin fails to properly validate user permissions when accessing certain administrative endpoints or AJAX actions. This allows an unauthenticated attacker to:
- Modify product feed settings
- Access or delete feed configurations
- Potentially inject malicious data into feed outputs
The root cause is a missing current_user_can() check or similar capability verification in functions handling feed management requests.
Vulnerable vs. Patched Code
Vulnerable Code (<= 2.2.8):
function handle_feed_action() {
// Missing capability check
$feed_id = $_POST['feed_id'];
// Process action without verifying user permissions
update_option('feed_config_' . $feed_id, $_POST['config']);
}
Patched Code (Hypothetical):
function handle_feed_action() {
if (!current_user_can('manage_options')) {
wp_die('Unauthorized');
}
$feed_id = $_POST['feed_id'];
// Process action after verifying user permissions
update_option('feed_config_' . $feed_id, $_POST['config']);
}
Exploitation & Lab Setup
Red Team
- Setup: Install WordPress with WooCommerce and Product Feed for WooCommerce <= 2.2.8.
- Exploit: Send a crafted HTTP POST request to the vulnerable endpoint without authentication:
POST /wp-admin/admin-ajax.php HTTP/1.1 Host: target-site.com Content-Type: application/x-www-form-urlencoded action=wpf_feed_action&feed_id=1&config=malicious_data - Result: The feed configuration is modified without authorization.
Blue Team
- Detection: Monitor for unauthorized access to
/wp-admin/admin-ajax.phpwith parameters likeaction=wpf_feed_action. - Mitigation: Implement a Web Application Firewall (WAF) rule to block requests to admin-ajax.php without a valid nonce or authentication cookie.
- Harden: Disable the plugin until a patch is available, or apply a custom capability check via a code snippet.
Indicators of Compromise (IOCs)
- Network: HTTP requests to
/wp-admin/admin-ajax.phpwithaction=wpf_feed_actionfrom unauthenticated sources. - File: Unexpected modifications to WordPress options table entries like
feed_config_*. - Log: WordPress debug log entries showing unauthorized access attempts to feed management functions.
Detection Engineering
YARA Rule
rule CVE_2025_49287_WordPress_Plugin
{
meta:
description = "Detects exploitation attempts for CVE-2025-49287 in Product Feed for WooCommerce"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-49287"
strings:
$action = "wpf_feed_action"
$feed_id = "feed_id"
condition:
all of them
}
Sigma Rule
title: CVE-2025-49287 Exploitation Attempt
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects HTTP requests targeting the vulnerable admin-ajax.php endpoint
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: 'admin-ajax.php'
cs-uri-query|contains: 'action=wpf_feed_action'
condition: selection
falsepositives:
- Legitimate admin actions (requires authentication)
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-49287 Exploitation Attempt"; flow:to_server; content:"POST"; http_method; content:"admin-ajax.php"; http_uri; content:"action=wpf_feed_action"; http_client_body; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Disable the plugin if not essential, or restrict access to
/wp-admin/admin-ajax.phpvia.htaccessor WAF rules. - Short-term: Monitor the WebToffee plugin page for updates and apply the patch as soon as it is released.
- Long-term: Implement a WordPress security plugin that adds additional authorization checks for AJAX actions.
- Workaround: Add a custom capability check to the plugin’s functions using a code snippet in the theme’s
functions.phpfile.
Valters IT
Securing Digital Frontiers
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.