CVE-2025-31063

4.3 MEDIUM

📋 TL;DR

This CVE describes a Missing Authorization vulnerability in the redqteam Wishlist WordPress plugin that allows attackers to exploit incorrectly configured access controls. It affects all versions up to 2.1.0, potentially enabling unauthorized users to access restricted functionality. WordPress sites using vulnerable versions of this plugin are affected.

💻 Affected Systems

Products:
  • redqteam Wishlist WordPress Plugin
Versions: n/a through 2.1.0
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Affects WordPress installations with the Wishlist plugin enabled. The vulnerability exists in the plugin's access control implementation.

⚠️ 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 modify or delete user wishlists, access sensitive user data, or perform actions reserved for authenticated users, potentially leading to data manipulation or privacy violations.

🟠

Likely Case

Unauthorized users accessing or modifying wishlist data they shouldn't have permission to view or edit, potentially affecting user experience and data integrity.

🟢

If Mitigated

With proper access controls and authentication checks, only authorized users can perform wishlist operations, maintaining data confidentiality and integrity.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

The vulnerability involves missing authorization checks, which typically means attackers can access endpoints or functions without proper authentication. No public exploit code has been identified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.1.1 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/wishlist/vulnerability/wordpress-wishlist-2-1-0-broken-access-control-vulnerability?_s_id=cve

Restart Required: No

Instructions:

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

🔧 Temporary Workarounds

Disable Wishlist Plugin

all

Temporarily deactivate the vulnerable plugin until patched

wp plugin deactivate wishlist

Restrict Plugin Access via .htaccess

linux

Add access restrictions to plugin directories

# Add to .htaccess in wp-content/plugins/wishlist/
Order Deny,Allow
Deny from all

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block unauthorized access to wishlist endpoints
  • Monitor and audit access to wishlist functionality for suspicious activity

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for Wishlist version. If version is 2.1.0 or earlier, you are vulnerable.

Check Version:

wp plugin get wishlist --field=version

Verify Fix Applied:

After updating, verify Wishlist plugin shows version 2.1.1 or later in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized access attempts to wishlist-related endpoints
  • Multiple failed authentication attempts followed by successful wishlist operations
  • User ID mismatches in wishlist access logs

Network Indicators:

  • Unusual HTTP requests to /wp-content/plugins/wishlist/ endpoints from unauthenticated users
  • POST/GET requests to wishlist API without proper authentication headers

SIEM Query:

source="wordpress.log" AND (uri_path="/wp-content/plugins/wishlist/" OR user_agent="*wishlist*") AND http_status=200 AND auth_status="unauthenticated"

🔗 References

📤 Share & Export