CVE-2025-13314

5.3 MEDIUM

📋 TL;DR

This vulnerability in the Filter Plus WooCommerce plugin allows unauthenticated attackers to modify plugin settings and create arbitrary filter options due to missing capability checks on AJAX endpoints. All WordPress sites using Filter Plus plugin versions up to 1.1.5 are affected. Attackers can manipulate product filtering behavior without requiring any authentication.

💻 Affected Systems

Products:
  • Filter Plus - Product Filtering by Categories, Tags, Price Range for WooCommerce
Versions: All versions up to and including 1.1.5
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All WordPress installations with vulnerable plugin versions are affected regardless of configuration.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could completely reconfigure product filtering, inject malicious content into filter options, disrupt e-commerce functionality, or use this as a foothold for further attacks.

🟠

Likely Case

Attackers modify filter settings to manipulate product visibility, create misleading filter options, or disrupt the shopping experience for customers.

🟢

If Mitigated

With proper web application firewalls and access controls, exploitation attempts would be blocked, limiting impact to failed attack attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability requires simple HTTP POST requests to specific AJAX endpoints without authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.1.6 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3202466%40filter-plus&new=3202466%40filter-plus&sfp_email=&sfph_mail=

Restart Required: No

Instructions:

1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find 'Filter Plus' plugin
4. Click 'Update Now' if update is available
5. If no update appears, manually download version 1.1.6+ from WordPress.org
6. Deactivate, delete old version, upload new version, and activate

🔧 Temporary Workarounds

Temporary Plugin Deactivation

all

Disable the vulnerable plugin until patched

wp plugin deactivate filter-plus

Web Application Firewall Rule

linux

Block access to vulnerable AJAX endpoints

# Add to .htaccess for Apache:
RewriteCond %{REQUEST_URI} ^/wp-admin/admin-ajax\.php$
RewriteCond %{QUERY_STRING} action=(filter_save_settings|add_filter_options)
RewriteRule ^ - [F,L]

🧯 If You Can't Patch

  • Remove the plugin entirely and use alternative filtering solutions
  • Implement strict network access controls to limit who can access the WordPress admin-ajax.php endpoint

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Filter Plus version. If version is 1.1.5 or lower, you are vulnerable.

Check Version:

wp plugin get filter-plus --field=version

Verify Fix Applied:

After update, confirm plugin version shows 1.1.6 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-admin/admin-ajax.php with action=filter_save_settings or action=add_filter_options from unauthenticated users
  • Unusual modifications to wp_options table with filter_plus prefix

Network Indicators:

  • Unusual POST requests to admin-ajax.php endpoint from external IPs
  • Traffic patterns showing repeated AJAX calls to filter-related endpoints

SIEM Query:

source="web_logs" AND uri="/wp-admin/admin-ajax.php" AND (post_data CONTAINS "action=filter_save_settings" OR post_data CONTAINS "action=add_filter_options") AND user="-"

🔗 References

📤 Share & Export