CVE-2026-0674

4.3 MEDIUM

📋 TL;DR

This CVE describes a missing authorization vulnerability in the Campaign Monitor for WordPress plugin that allows attackers to exploit incorrectly configured access control security levels. It affects WordPress sites using the forms-for-campaign-monitor plugin, potentially allowing unauthorized access to functionality. All users of affected plugin versions are vulnerable until patched.

💻 Affected Systems

Products:
  • Campaign Monitor for WordPress (forms-for-campaign-monitor)
Versions: All versions through 2.9.0
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress installations with the vulnerable plugin 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 campaign settings, access subscriber data, or manipulate form submissions without authentication, potentially leading to data exposure or unauthorized email campaigns.

🟠

Likely Case

Unauthorized users accessing administrative functions they shouldn't have access to, potentially modifying form settings or accessing limited subscriber information.

🟢

If Mitigated

With proper access controls and network segmentation, impact would be limited to the specific WordPress instance with no lateral movement.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Missing authorization vulnerabilities typically require minimal technical skill to exploit once the attack vector is identified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 2.9.0

Vendor Advisory: https://patchstack.com/database/Wordpress/Plugin/forms-for-campaign-monitor/vulnerability/wordpress-campaign-monitor-for-wordpress-plugin-2-9-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 'Campaign Monitor for WordPress'. 4. Click 'Update Now' if available. 5. If no update available, deactivate and remove plugin, then install latest version from WordPress repository.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable the vulnerable plugin until patched version is available

wp plugin deactivate forms-for-campaign-monitor

Restrict Admin Access

linux

Implement IP whitelisting for WordPress admin area

Add to .htaccess: Order Deny,Allow\nDeny from all\nAllow from 192.168.1.0/24

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block unauthorized access to plugin endpoints
  • Enable detailed logging and monitoring for unauthorized access attempts to plugin functionality

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for 'Campaign Monitor for WordPress' version 2.9.0 or earlier

Check Version:

wp plugin get forms-for-campaign-monitor --field=version

Verify Fix Applied:

Verify plugin version is greater than 2.9.0 in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized POST requests to /wp-admin/admin-ajax.php with campaign_monitor actions
  • Multiple failed authorization attempts followed by successful unauthorized access

Network Indicators:

  • Unusual traffic patterns to WordPress admin endpoints from unauthorized IPs
  • HTTP requests containing 'campaign_monitor' parameters from non-admin users

SIEM Query:

source="wordpress.log" AND (uri_path="/wp-admin/admin-ajax.php" AND parameters CONTAINS "campaign_monitor") AND user_role!="administrator"

🔗 References

📤 Share & Export