CVE-2025-28859

4.3 MEDIUM

📋 TL;DR

This CSRF vulnerability in the WordPress Maintenance Notice plugin allows attackers to trick authenticated administrators into performing unintended actions. It affects all WordPress sites running Maintenance Notice plugin versions up to 1.0.5. The vulnerability enables attackers to modify plugin settings without the admin's knowledge.

💻 Affected Systems

Products:
  • WordPress Maintenance Notice plugin
Versions: n/a through 1.0.5
Operating Systems: All platforms running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress administrator to be logged in and visit a malicious page while authenticated.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could change maintenance mode settings, disable security features, or modify plugin configurations to facilitate further attacks.

🟠

Likely Case

Attackers modify maintenance notice settings to display malicious content or redirect users to phishing sites.

🟢

If Mitigated

With proper CSRF protections and user awareness, impact is limited to unsuccessful exploitation attempts.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: LOW

🎯 Exploit Status

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

CSRF attacks require social engineering to trick authenticated users into clicking malicious links.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.0.6 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/maintenance-notice/vulnerability/wordpress-maintenance-notice-plugin-1-0-5-cross-site-request-forgery-csrf-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel
2. Go to Plugins → Installed Plugins
3. Find Maintenance Notice plugin
4. Click 'Update Now' if available
5. If no update appears, download version 1.0.6+ from WordPress repository
6. Deactivate old version
7. Upload and activate new version

🔧 Temporary Workarounds

Implement CSRF tokens manually

all

Add nonce verification to plugin forms

Requires PHP coding modifications to plugin files

Use security plugins

all

Install WordPress security plugins that add CSRF protection

🧯 If You Can't Patch

  • Deactivate the Maintenance Notice plugin entirely
  • Implement strict access controls and educate administrators about CSRF risks

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Maintenance Notice → Version number

Check Version:

wp plugin list --name=maintenance-notice --field=version

Verify Fix Applied:

Confirm version is 1.0.6 or higher in WordPress plugins list

📡 Detection & Monitoring

Log Indicators:

  • Unexpected changes to maintenance_notice settings in WordPress database
  • Multiple failed CSRF token validations

Network Indicators:

  • POST requests to wp-admin/admin-ajax.php without proper referrer headers
  • Suspicious external domains in referrer fields

SIEM Query:

source="wordpress.log" AND "admin-ajax.php" AND "action=maintenance_notice" AND NOT referer="*your-domain*"

🔗 References

📤 Share & Export