CVE-2025-1514
Executive Summary
CVE-2025-1514 is a security vulnerability in the Active Products Tables for WooCommerce WordPress plugin (versions up to and including 1.0.6.7). The flaw resides in the get_smth() function, which lacks sufficient restrictions, allowing unauthenticated attackers to call arbitrary WordPress filters with a single parameter. This can lead to unauthorized data manipulation or information disclosure, depending on the filter invoked. The vulnerability has a CVSS score of 7.3 (High) and currently has no known patch or public exploit code. As a WordPress plugin vulnerability, it affects sites using WooCommerce with this specific plugin installed.
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 is specific to the WordPress plugin ecosystem. The plugin is distributed via the WordPress Plugin Directory and can be installed directly from the WordPress admin dashboard. No known supply chain compromise has been reported, but the lack of a patch increases risk for sites that continue to use the affected version.
CVSS Breakdown & Threat Level
- CVSS Score: 7.3 (High)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: None
- Integrity Impact: Low
- Availability Impact: Low
The vulnerability is easily exploitable remotely without authentication, making it a significant threat to unpatched WordPress sites.
Deep Dive & Mechanics
The get_smth() function in the plugin is intended for internal use but is exposed via AJAX or direct calls without proper capability checks. The function accepts a single parameter that is used to call a WordPress filter. By manipulating this parameter, an attacker can invoke arbitrary filters, potentially altering plugin behavior or accessing sensitive data.
Key Technical Details:
- The function does not validate the filter name against a whitelist.
- No nonce or permission check is performed.
- The filter is called with a single parameter, limiting but not eliminating impact.
- Example filters that could be abused include
option_*filters to modify site options orpre_get_poststo alter queries.
Vulnerable vs. Patched Code
Vulnerable Code (version <= 1.0.6.7):
function get_smth() {
$filter = $_GET['filter'];
apply_filters($filter, $_GET['param']);
}
Patched Code (hypothetical):
function get_smth() {
if (!current_user_can('manage_options')) {
wp_die('Unauthorized');
}
$allowed_filters = array('allowed_filter_1', 'allowed_filter_2');
$filter = sanitize_text_field($_GET['filter']);
if (in_array($filter, $allowed_filters)) {
apply_filters($filter, sanitize_text_field($_GET['param']));
}
}
The patched version adds capability checks and filter whitelisting.
Exploitation & Lab Setup
Red Team
Exploitation Steps:
- Identify a WordPress site using the vulnerable plugin.
- Craft a request to the vulnerable endpoint (e.g.,
/wp-admin/admin-ajax.php?action=get_smth&filter=some_filter¶m=value). - Use a filter like
option_siteurlto change the site URL orpre_option_hometo redirect traffic.
Example Request:
GET /wp-admin/admin-ajax.php?action=get_smth&filter=option_siteurl¶m=http://attacker.com HTTP/1.1
Host: target-site.com
Blue Team
Detection and Response:
- Monitor for unusual AJAX requests to
admin-ajax.phpwith theaction=get_smthparameter. - Look for unexpected changes to WordPress options or site behavior.
- Implement Web Application Firewall (WAF) rules to block requests with suspicious filter names.
Lab Setup:
- Use a local WordPress installation with WooCommerce and the vulnerable plugin.
- Simulate attacks using curl or Burp Suite.
- Monitor logs and network traffic for indicators.
Indicators of Compromise (IOCs)
- Network: HTTP requests to
/wp-admin/admin-ajax.phpwithaction=get_smthparameter. - File: Presence of the plugin in
/wp-content/plugins/active-products-tables-for-woocommerce/. - Log: WordPress debug logs showing calls to
apply_filterswith unexpected filter names. - Behavior: Unauthorized changes to WordPress options or site configuration.
Detection Engineering
YARA Rule
rule CVE_2025_1514_WordPress_Plugin {
meta:
description = "Detects vulnerable Active Products Tables for WooCommerce plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-1514"
strings:
$func = "function get_smth()" ascii wide nocase
$apply = "apply_filters" ascii wide nocase
condition:
$func and $apply
}
Sigma Rule
title: CVE-2025-1514 - Unauthorized Filter Call via Active Products Tables Plugin
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects exploitation attempts against CVE-2025-1514
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
c-uri|contains: '/wp-admin/admin-ajax.php'
cs-uri-query|contains: 'action=get_smth'
condition: selection
falsepositives:
- Legitimate plugin functionality (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-1514 - Unauthorized Filter Call"; flow:to_server,established; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=get_smth"; http_uri; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable or remove the plugin until a patch is available.
- Implement a Web Application Firewall (WAF) rule to block requests containing
action=get_smth. - Monitor WordPress logs for suspicious activity.
Long-term Fix:
- Apply the official patch once released by the vendor.
- Update to the latest version of the plugin (if patched).
- Regularly audit WordPress plugins for vulnerabilities.
Workarounds:
- Use a security plugin like Wordfence to block malicious requests.
- Restrict access to
admin-ajax.phpvia.htaccessfor unauthenticated users.
Report generated by Valters IT DevSecOps & CTI Framework
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.