CVE-2025-54045

4.3 MEDIUM

📋 TL;DR

This CVE describes a Missing Authorization vulnerability in the CM On Demand Search And Replace WordPress plugin that allows attackers to exploit incorrectly configured access control security levels. Attackers can perform unauthorized actions that should require proper authentication. This affects all WordPress sites using the plugin version 1.5.4 or earlier.

💻 Affected Systems

Products:
  • CreativeMindsSolutions CM On Demand Search And Replace WordPress Plugin
Versions: All versions up to and including 1.5.4
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Affects 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 modify critical site content, inject malicious code, or perform administrative functions without authorization, potentially leading to site compromise or data manipulation.

🟠

Likely Case

Unauthorized users can perform search and replace operations on site content, potentially defacing pages or injecting malicious content.

🟢

If Mitigated

With proper access controls and authentication requirements, only authorized administrators can perform search and replace operations.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Broken access control vulnerabilities are typically easy to exploit once discovered, though no public exploit code is currently available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 1.5.4

Vendor Advisory: https://patchstack.com/database/Wordpress/Plugin/cm-on-demand-search-and-replace/vulnerability/wordpress-cm-on-demand-search-and-replace-plugin-1-5-4-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 'CM On Demand Search And Replace'
4. Click 'Update Now' if update available
5. If no update available, deactivate and remove plugin
6. Install latest version from WordPress repository

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable the vulnerable plugin until patched

wp plugin deactivate cm-on-demand-search-and-replace

Restrict Access via .htaccess

linux

Block access to plugin files via web server configuration

<FilesMatch "^(cm-on-demand-search-and-replace|search-replace).*\.php$">
    Order Deny,Allow
    Deny from all
</FilesMatch>

🧯 If You Can't Patch

  • Deactivate and remove the plugin entirely
  • Implement web application firewall rules to block unauthorized access to plugin endpoints

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for 'CM On Demand Search And Replace' version 1.5.4 or earlier

Check Version:

wp plugin get cm-on-demand-search-and-replace --field=version

Verify Fix Applied:

Verify plugin version is greater than 1.5.4 in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized POST requests to plugin endpoints
  • Unexpected search/replace operations in WordPress logs
  • 403/401 errors followed by successful 200 responses to plugin URLs

Network Indicators:

  • HTTP requests to /wp-content/plugins/cm-on-demand-search-and-replace/ from unauthenticated sources
  • POST requests to search/replace endpoints without proper authentication headers

SIEM Query:

source="wordpress" AND (uri_path="/wp-content/plugins/cm-on-demand-search-and-replace/" OR plugin_name="cm-on-demand-search-and-replace") AND (http_status=200 OR http_method="POST") AND NOT user_role="administrator"

🔗 References

📤 Share & Export