CVE-2025-31545

5.4 MEDIUM

📋 TL;DR

This CVE describes a Missing Authorization vulnerability in the WP Messiah Safe Ai Malware Protection for WordPress plugin. It allows attackers to exploit incorrectly configured access control security levels, potentially accessing functionality they shouldn't have permission to use. This affects all WordPress sites running the Safe Ai Malware Protection plugin versions up to and including 1.0.20.

💻 Affected Systems

Products:
  • WP Messiah Safe Ai Malware Protection for WordPress
Versions: n/a through 1.0.20
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all WordPress installations with the vulnerable plugin version installed and activated.

⚠️ 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 gain administrative access to the WordPress site, modify plugin settings, disable security features, or potentially execute arbitrary code through plugin functionality.

🟠

Likely Case

Unauthorized users could access plugin administrative functions, modify security settings, or bypass intended access restrictions to view protected data.

🟢

If Mitigated

With proper access controls and authentication checks, the vulnerability would be prevented, maintaining normal plugin functionality for authorized users only.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires some level of access to the WordPress site, but the vulnerability bypasses intended authorization checks.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.0.21 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/safe-ai-malware-protection-for-wp/vulnerability/wordpress-safe-ai-malware-protection-for-wp-plugin-1-0-20-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 'Safe Ai Malware Protection for WP'. 4. Click 'Update Now' if available. 5. Alternatively, download version 1.0.21+ from WordPress repository and manually update.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily deactivate the Safe Ai Malware Protection plugin until patched

wp plugin deactivate safe-ai-malware-protection-for-wp

Restrict plugin access

all

Use WordPress role management plugins to restrict access to plugin settings

🧯 If You Can't Patch

  • Implement strict network access controls to limit who can access the WordPress admin interface
  • Deploy a web application firewall (WAF) with rules to detect and block unauthorized access attempts to plugin endpoints

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for 'Safe Ai Malware Protection for WP' version 1.0.20 or earlier

Check Version:

wp plugin get safe-ai-malware-protection-for-wp --field=version

Verify Fix Applied:

Verify plugin version is 1.0.21 or later in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized access attempts to plugin-specific admin endpoints
  • Unusual user role changes or privilege escalation

Network Indicators:

  • HTTP requests to plugin admin endpoints from unauthorized IPs
  • Unusual traffic patterns to /wp-admin/admin.php?page=safe-ai-malware-protection endpoints

SIEM Query:

source="wordpress.log" AND (uri_path="/wp-admin/admin.php" AND query_string="*page=safe-ai-malware-protection*") AND NOT user_role="administrator"

🔗 References

📤 Share & Export