Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLoad public form page to obtain CSRF cookie
-
DeliverySubmit form with XSS payload in post_id
-
ExploitPayload stored without sanitization/escaping
-
ExecutionVictim loads injected page
-
ImpactScript executes in victim browser context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a publicly accessible, published MW WP Form form on the target WordPress site (the plugin's core use case). The attacker must first request that public form page to obtain a valid double-submit cookie, which per the report defeats the MW_WP_Form_Csrf protection, then submit a crafted 'post_id' value; no authentication is required (PR:N). The practical limiting factor is that the stored payload only fires when a user later accesses the injected page, so impact depends on victims - ideally privileged administrators - viewing that page. No non-default configuration is needed beyond having an active form, and exploitation applies to all versions through 5.1.7. |
| Impact | This is a genuine but moderate-priority issue rather than a drop-everything emergency. The supplied CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C) describes a network-reachable, low-complexity, unauthenticated stored XSS with a scope change, which is why it rates 7.2 (High). The impact is correctly bounded to C:L/I:L/A:N, consistent with script execution in a victim's browser session rather than full server compromise. No EPSS score was provided in the input, so exploitation probability cannot be quantified. The CVE is not listed in CISA KEV and no proof-of-concept is referenced, so this is no public exploit identified at time of analysis. No SSVC decision data was supplied. The most important nuance is that although the base vector is PR:N/UI:N, stored XSS realistically depends on a victim later loading the poisoned page - the UI:N reflects the Wordfence convention that the triggering victim need take no special action beyond normal browsing, not that zero human interaction occurs. The description's claim that the MW_WP_Form_Csrf double-submit gate is trivially bypassable by any visitor is a vendor (Wordfence) assertion and strengthens the unauthenticated-attacker characterization. Overall: a real, patch-worthy vulnerability whose severity is mitigated by the limited (XSS-scoped) impact and the absence of evidence of active exploitation or public exploit code. |
| Exploit ScenarioDerived | An unauthenticated attacker first loads the public MW WP Form page to obtain a valid double-submit CSRF cookie, then submits the form with a malicious script payload in the 'post_id' parameter, which is stored without sufficient sanitization. When any user - including a logged-in administrator - subsequently views the affected page, the injected JavaScript executes in their browser, enabling session hijacking or admin-context actions. No public exploit code is referenced, so exploitation would currently require an attacker to craft the request manually from the described mechanism. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 02, 2026
Stored cross-site scripting in the MW WP Form plugin for WordPress (all versions up to and including 5.1.7) lets an unauthenticated visitor persist arbitrary JavaScript into a site by submitting a crafted 'post_id' value to a public form. The plugin's CSRF gate (MW_WP_Form_Csrf) is a double-submit cookie check that any visitor can satisfy simply by loading the public form page first, so there is no meaningful barrier to storing the payload; the script then executes whenever a victim - potentially an administrator - later views the injected page. Rated CVSS 7.2 (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N by the reporter; assessed as UI:R by our team), this is a genuine but moderate-priority issue rather than a drop-everything emergency, and no public exploit code or confirmed active exploitation (CISA KEV) was identified at time of analysis.
RemediationAI
Upstream fix available (commit/changeset); a released patched version is not independently confirmed in the input data - the plugin Trac changeset https://plugins.trac.wordpress.org/changeset?reponame=&old=3715473%40mw-wp-form&new=3715473%40mw-wp-form shows the corrective code change, so administrators should upgrade MW WP Form to the latest available release newer than 5.1.7 as soon as it is published (no specific fixed version number should be assumed from this data). If an update is not yet deployable, effective compensating controls are: deactivate the MW WP Form plugin entirely if forms are not in active use (zero residual risk, but the site loses all form functionality); unpublish or remove public-facing forms so unauthenticated visitors cannot reach the vulnerable submission path (breaks legitimate form submissions); and restrict the audience that can reach pages where form data is rendered, reducing the chance a privileged user triggers the stored payload. A WAF rule blocking script/HTML markup in the 'post_id' parameter or targeting the plugin's submission endpoints can add interim protection, but signature evasion is possible and it is not a substitute for patching. Note that the double-submit CSRF cookie provides no real mitigation here and should not be relied upon.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a classic CWE-79 improper neutralization of input during web page generation, manifesting as stored XSS in the WordPress plugin MW WP Form (CPE cpe:2.3:a:websoudan:mw_wp_form, tracked in the EU as EUVD-2026-91239). The 'post_id' parameter is not sanitized on input nor escaped on output, and the referenced source locations - classes/models/class.parser.php (lines 156 and 208), classes/services/class.exec-shortcode.php (lines 122 and 151), and classes/models/class.contact-data-setting.php (line 200) - indicate the tainted value passes through the plugin's form-parsing and shortcode-execution paths and is rendered into stored contact/form data. Because the payload is persisted rather than reflected, it executes in the security context of any user who later opens the affected page; the CVSS scope change (S:C) reflects that the injected script can act with the victim's privileges (e.g., an administrator's session). The CSRF protection relies on a double-submit cookie rather than a server-side, session-bound token, so an unauthenticated attacker can obtain a valid cookie by requesting the public form page and then replay it with the malicious submission, defeating the intended barrier. Wordfence reported the issue, and the upstream changeset (Trac revision 3715473) indicates the vendor has moved to correct the code.
Know when Mw Wp Form gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Unauthenticated network injection via a bypassable CSRF gate (PR:N, AC:L); stored XSS fires only when a victim loads the page (UI:R); S:C with C:L/I:L for browser-context script impact, no availability effect.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The MW WP Form plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'post_id' parameter in all versions up to, and including, 5.1.7 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The CSRF gate protecting form submission (MW_WP_Form_Csrf) is bypassable by any unauthenticated visitor who first loads the public form page to obtain a valid double-submit cookie, leaving no effective barrier to storing malicious payloads.
Executive ViewAI
MW WP Form plugin for WordPress, versions up to and including 5.1.7, contains a stored cross-site scripting flaw that lets an unauthenticated visitor inject JavaScript into a site's pages, which then executes for administrators or other users who view the affected content. With no vendor-released patch identified at time of analysis, any organization hosting this plugin is exposed to administrative session theft, credential capture, site defacement, or broader WordPress compromise. Leadership should prioritize inventorying affected sites and applying interim mitigations because the plugin is widely used and the flaw can be triggered through public forms without authentication.
No vendor-released patch identified at time of analysis. Interim mitigations include deactivating or removing the MW WP Form plugin versions up to and including 5.1.7 where feasible; restricting public form submissions; deploying WAF or virtual patching rules to block crafted post_id values; sanitizing and escaping all post_id output; scanning for and removing injected JavaScript; enforcing multi-factor authentication and least privilege for WordPress administrators; and monitoring for suspicious script injections. No public exploit identified at time of analysis, but unauthenticated exploitation is possible because the CVSS vector includes PR:N.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
More in Mw Wp Form
View allThe MW WP Form plugin for WordPress is vulnerable to arbitrary file uploads due to insufficient file type validation in
Unrestricted upload of file with dangerous type exists in MW WP Form versions v4.4.2 and earlier, which may allow a remo
Directory traversal vulnerability in MW WP Form versions v4.4.2 and earlier allows a remote unauthenticated attacker to
Shortcode injection in MW WP Form WordPress plugin (versions before 5.1.5) allows unauthenticated remote attackers to ex
The MW WP Form plugin for WordPress is vulnerable to arbitrary file deletion in all versions up to, and including, 5.0.3
Arbitrary file manipulation in MW WP Form plugin (WordPress) versions ≤5.1.1 allows unauthenticated attackers to move se
Arbitrary file movement in MW WP Form plugin for WordPress (all versions ≤5.1.0) allows unauthenticated remote attackers
Stored XSS in the MW WP Form WordPress plugin (all versions before 5.1.6) lets authenticated users holding the Editor ro
Reflected or stored Cross-Site Scripting in the MW WP Form WordPress plugin (versions <= 5.1.3) allows remote unauthenti
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in websoudan MW WP Fo
EUVD-2026-91239
GHSA-qp55-c5q5-378p
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB