CVE-2025-12650
WordPress vulnerability analysis and mitigation

Overview

CVE-2025-12650 is a Stored Cross-Site Scripting (XSS) vulnerability in the Simple Post Listing plugin for WordPress, affecting all versions up to and including 0.2. The flaw resides in the class_name parameter of the postlist shortcode, where insufficient input sanitization and output escaping allow authenticated attackers with contributor-level access or above to inject arbitrary web scripts. The vulnerability was published on December 12, 2025, and assigned a CVSS v3.1 base score of 6.4 (Medium) (Red Hat CVE, Wordfence).

Technical details

The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation — Cross-Site Scripting), specifically a stored XSS variant. The vulnerable code is located in the plugin's simple-post-listing.php file (around line 77), where the class_name shortcode attribute is passed to page output without proper sanitization or escaping. An authenticated contributor can craft a [postlist class_name="..."] shortcode embedding malicious JavaScript, which is then stored in the database and executed in the browser of any user who visits the affected page via mouse interaction (Wordfence, Plugin Source).

Impact

Successful exploitation allows an authenticated contributor to persistently inject malicious scripts into WordPress pages, which execute in the context of any visiting user's browser. This can lead to session cookie theft, credential harvesting, defacement, or redirection to malicious sites, impacting both confidentiality and integrity of affected pages. Availability is not directly impacted, but the scope is changed as the injected scripts can affect users beyond the attacker's own session (Wordfence, Red Hat CVE).

Exploitability

No public exploit code or active in-the-wild exploitation has been reported for CVE-2025-12650. The EPSS score is approximately 0.029% (0.000290), indicating a very low probability of exploitation in the near term. The vulnerability requires at least contributor-level authentication, limiting the attacker pool. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog (Wordfence).

Exploitation steps

  1. Gain Contributor Access: Obtain or register a WordPress account with at least contributor-level privileges on the target site running Simple Post Listing ≤ 0.2.
  2. Craft Malicious Shortcode: Create or edit a post/page and insert a postlist shortcode with a malicious payload in the class_name attribute, e.g., [postlist class_name="\" onmouseover=\"alert(document.cookie)\""] or a more sophisticated script tag variant.
  3. Publish or Submit Content: Submit the post for review or publish it (depending on role permissions). The malicious shortcode is stored in the WordPress database.
  4. Trigger Execution: When any site visitor navigates to the affected page and interacts with the element (e.g., mouse-over), the injected JavaScript executes in their browser context, enabling session hijacking, credential theft, or further attacks (Wordfence, Plugin Source).

Indicators of compromise

  • Logs: WordPress access logs showing POST requests to wp-admin/post.php or REST API endpoints containing class_name parameters with HTML event handlers (e.g., onmouseover, onerror) or <script> tags.
  • Database: Unusual entries in the wp_posts table containing [postlist class_name= shortcodes with embedded JavaScript or HTML event attributes.
  • File System: No file-system artifacts expected for this stored XSS; exploitation is database-resident.
  • Network: Outbound requests from victim browsers to attacker-controlled domains (e.g., for cookie exfiltration) originating from pages hosting the postlist shortcode.

Mitigation and workarounds

As of the disclosure date, no patched version beyond 0.2 has been confirmed. Site administrators should immediately deactivate and remove the Simple Post Listing plugin until a patched version is released. As a compensating control, restrict contributor-level user registrations and audit existing contributor accounts for unauthorized shortcode usage. Monitor the plugin's WordPress.org page for updates (Wordfence).

Community reactions

Wordfence disclosed the vulnerability as part of their weekly WordPress vulnerability report for December 8–14, 2025, noting it as a medium-severity stored XSS issue (Wordfence Weekly Report). No significant broader media coverage or notable researcher commentary beyond the initial disclosure has been identified.

Additional resources


SourceThis report was generated using AI

Related WordPress vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-77115HIGH7.1
  • brave-popup-builder
NoYesAug 23, 2026
CVE-2026-77116MEDIUM4.3
  • brave-popup-builder
NoYesAug 23, 2026
CVE-2026-14853MEDIUM4.3
  • woocommerce-bookings
NoYesAug 23, 2026
CVE-2026-77003LOW2.7
  • content-mask
NoYesAug 23, 2026
CVE-2026-13598NONEN/A
  • restrictmate
NoYesAug 23, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management