Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify publicly accessible WPForms Pro form
-
DeliverySubmit crafted iframe with javascript: URI in data-src field
-
ExploitPayload bypasses kses sanitization via unlisted URI attribute
-
InstallMalicious entry stored verbatim in WordPress database
-
C2Administrator opens form entries view in wp-admin
-
Executeview-entry.min.js promotes data-src to live src attribute
-
ImpactJavaScript executes in admin browser session
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 | WPForms Pro version 2.0.0.2 or earlier must be installed and active on a WordPress site. A form containing at least one Single Line Text or Paragraph Text field must be publicly accessible (i.e., reachable by unauthenticated users who can submit entries). The XSS payload executes specifically when a privileged user - typically a WordPress administrator - opens the form entries view in the wp-admin dashboard, which is the routine path for reviewing form submissions. There are no additional non-default configuration requirements: the vulnerable kses filter expansion and the view-entry.min.js script behavior are present by default in the affected plugin versions. Exploitation is limited to sites where public form submission is enabled and where an administrator actively reviews stored entries; sites where form submission is restricted to authenticated users would require a lower-privilege authenticated attacker rather than a fully unauthenticated one. |
| Impact | The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N, score 7.2) reflects the unauthenticated network-accessible attack surface and scope change into the administrative browser context. However, the UI:N metric is atypical for stored XSS: execution does require an administrator or user to navigate to the form entry view, which maps more naturally to UI:R under the CVSS 3.1 specification. If scored UI:R the base score would be approximately 6.1, still Medium-High. No EPSS score was provided and the CVE is not listed in CISA KEV, indicating no confirmed widespread exploitation at time of analysis. The Wordfence report is a credible primary source. Real-world risk is elevated by several factors: the attack requires zero authentication, WPForms Pro is broadly deployed across commercial WordPress sites, the trigger (admin reviewing form submissions) is routine operational behavior, and successful exploitation in the admin context can enable follow-on account compromise, backdoor injection via the plugin/theme editor, or full site takeover. The absence of a POC and KEV listing somewhat moderates urgency, but the low attack complexity and high deployment footprint warrant prompt patching. CVSS signals and description are consistent - no apparent contradictions. |
| Exploit ScenarioDerived | An unauthenticated attacker locates a publicly accessible WordPress site running WPForms Pro and submits a contact or lead-capture form, placing a crafted payload - an iframe element with a javascript: URI in the data-src attribute - into a Single Line Text or Paragraph Text field. Because WPForms Pro's kses filter permits iframes with data-src and WordPress does not treat data-src as a URI-type attribute requiring sanitization, the payload is stored intact in the database. When a site administrator subsequently opens the Entries view to review form submissions, view-entry.min.js reads the stored data-src value and writes it into the iframe's src, causing the administrator's browser to execute the attacker's JavaScript in the WordPress admin session context, enabling session cookie theft or further administrative actions. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 21, 2026
Stored Cross-Site Scripting in WPForms Pro for WordPress (all versions through 2.0.0.2) allows unauthenticated remote attackers to inject persistent malicious scripts via form text fields, which execute in the browser of any user who views the stored form entry. The vulnerability exploits a subtle interaction between the plugin's custom kses allowlist expansion - permitting iframes with a data-src attribute - and the WordPress core URI sanitizer's blindspot for that attribute, compounded by the plugin's own admin script promoting data-src to a live src. No active exploitation has been confirmed in CISA KEV and no public proof-of-concept has been identified at time of analysis, though the unauthenticated attack surface and administrative execution context make this a credible priority for WordPress site operators.
RemediationAI
Update WPForms Pro to the first version released after 2.0.0.2; consult the official changelog at https://wpforms.com/docs/how-to-view-recent-changes-to-the-wpforms-plugin-changelog/#Changelog to confirm the exact patched version, as a specific fix version was not independently confirmed in the available data. If immediate patching is not feasible, administrators can restrict access to the form entry viewer in the WordPress dashboard to the minimum necessary user roles, reducing the population of users whose browsers could trigger payload execution. Additionally, disabling public form submissions on non-essential forms limits the attacker's ability to inject payloads in the first place, though this may impact site functionality. A Web Application Firewall rule targeting javascript: URI patterns in POST bodies can serve as a compensating control but should not replace patching, as filter evasion via encoding is common. Given that the vulnerability requires form submission capability, temporarily unpublishing or password-protecting forms containing the vulnerable field types is a low-disruption interim measure.
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
WPForms Pro (CPE: cpe:2.3:a:wpforms:wpforms_pro:*:*:*:*:*:*:*:*) is a premium WordPress form-builder plugin. WordPress uses the kses library to sanitize HTML, relying on an attribute allowlist mapped per HTML element. WPForms Pro hooks into the wp_kses_allowed_html filter for the 'post' context and expands it to permit iframe elements carrying a data-src attribute. The critical gap is that WordPress's kses URI sanitization routines only scrub attributes explicitly listed as 'URI' type (e.g., src, href, action); data-src is not on that list, so a javascript: URI assigned to data-src passes through kses unmodified and is stored verbatim in the database. When an administrator opens the form entry view, the bundled admin JavaScript file view-entry.min.js reads data-src and copies its value into the live src attribute of the rendered iframe, causing the browser to evaluate the javascript: URI. CWE-79 (Improper Neutralization of Input During Web Page Generation) precisely describes this root cause: user-supplied input is stored without sufficient sanitization and later rendered in a context where it is interpreted as executable script.
Know when Wpforms 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
UI:R corrected from provided UI:N because execution requires an admin to view the entry page; all other metrics align with the unauthenticated network submission and admin-context scope change.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The WPForms Pro plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Single Line Text and Paragraph Text Field Values in all versions up to, and including, 2.0.0.2 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 exploit relies on the plugin's own wp_kses_allowed_html filter widening the 'post' allowlist to permit iframe elements with a data-src attribute, which is not on WordPress's URI-attribute sanitization list, allowing a javascript: URI stored in data-src to survive kses processing and subsequently be promoted to a live src attribute by the bundled admin script view-entry.min.js.
Executive ViewAI
WPForms Pro (all versions through 2.0.0.2) contains a stored cross-site scripting vulnerability allowing unauthenticated attackers to inject malicious code through web forms, compromising WordPress administrator accounts when they review submissions. Organizations using WPForms for contact forms, inquiries, and data collection face immediate risk of administrative session hijacking and potential full-site compromise. With no vendor patch currently available, this requires urgent interim security controls to protect administrative access and maintain customer trust.
No vendor-released patch identified at time of analysis. Interim mitigations include: disabling form entry storage in plugin settings, restricting form access to authenticated users, deploying WAF rules against data-src attribute injection, monitoring form submissions for malicious content, and disabling the plugin entirely pending patch availability if forms are not mission-critical.
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.
The WPForms Pro WordPress plugin before 1.7.7 does not validate its form data when generating the exported CSV, which co
The Contact Form & SMTP Plugin by PirateForms plugin for WordPress is vulnerable to HTML injection in the ‘public/class-
Unauthenticated attackers can force full refunds and immediate subscription cancellations on WordPress sites running the
Unauthenticated shortcode injection in WPForms Lite (versions 1.5.0.1 through 2.0.2) lets remote attackers execute arbit
The Contact Form & SMTP Plugin for WordPress by PirateForms WordPress plugin before 2.6.0 does not sanitise and escape s
WPForms 1.7.8 contains a cross-site scripting vulnerability in the slider import search feature and tab parameter. Attac
A stored cross-site scripting (XSS) vulnerability exists in the WPForms Contact Form (aka wpforms-lite) plugin before 1.
The WPForms WordPress plugin before 1.9.2.3 does not sanitise and escape some of its settings, which could allow high pr
The WPForms WordPress plugin before 1.9.1.6 does not sanitise and escape some of its settings, which could allow high pr
The WPForms plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on
The WPForms - Easy Form Builder for WordPress - Contact Forms, Payment Forms, Surveys, & More plugin for WordPress is vu
Unauth. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no authentication required, low at
EUVD-2026-63812
GHSA-6mv8-cgfh-7rch
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB