Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAcquire contributor-level WordPress account
-
DeliveryOpen Elementor editor on target page
-
ExploitInsert tag-free XSS payload into mf_form_id widget setting
-
InstallPayload stored in database bypassing wp_kses_post
-
C2MetForm str_replace outputs payload as JS template literal
-
ExecuteVictim browses injected page
-
ImpactArbitrary JavaScript executes in victim browser
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 | Exploitation requires a valid WordPress user account with at minimum contributor-level role. The attacker must be able to create or edit Elementor-built pages with the MetForm widget placed and the 'mf_form_id' setting editable. Two specific application behaviors must be present and are confirmed in the referenced source: Elementor's wp_kses_post save-time filter must be active (the default in all Elementor-based installations), and MetForm's str_replace script-tag transformation must be reachable (util.php line 605). No non-default server configuration or additional plugin is required beyond having MetForm installed with a form widget on at least one published page. Exploitation is strictly bounded by the contributor access requirement - sites that disable open user registration and restrict contributor roles to vetted internal staff face substantially lower realistic exposure. Victim users do not need to take any action beyond passively loading the injected page. |
| Impact | The CVSS 6.4 Medium score reflects a meaningful real-world constraint: contributor-level access (PR:L) is a genuine gatekeeping requirement that limits exposure on sites with tightly controlled user roles. The scope change metric (S:C) correctly captures that exploitation crosses from the server-side WordPress application into victim browsers. EPSS data was not included in the provided intelligence, so exploitation probability cannot be independently quantified. The vulnerability is not listed in CISA KEV and no public exploit has been identified. Despite the moderate numeric score, the dual bypass mechanism - independently circumventing both Elementor's wp_kses_post and MetForm's own str_replace transformation - indicates above-average technical sophistication; a threat actor who obtained contributor credentials via phishing or credential stuffing could reliably exploit this without further obstacle. Organizations running open contributor registration models should treat remediation as more urgent than the raw score implies, while sites with strictly vetted contributors face lower practical risk. No data conflicts or inconsistencies were identified between the CVSS vector and the described exploitation conditions. |
| Exploit ScenarioDerived | An attacker who has obtained or self-registered a contributor-level WordPress account opens the Elementor editor on any page, places a MetForm form widget, and enters a crafted tag-free payload into the 'mf_form_id' widget setting. The payload bypasses wp_kses_post on save and is stored in the database; MetForm's str_replace transformation converts it into an executable JavaScript template literal on output. Any subsequent visitor - including site administrators - who loads that page has the script execute silently in their browser, enabling the attacker to exfiltrate session cookies or redirect victims to phishing pages. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
Stored Cross-Site Scripting in MetForm for WordPress (all versions through 4.1.8) allows authenticated contributors to permanently inject arbitrary JavaScript into pages via the 'mf_form_id' Elementor widget setting, exploiting two independent filter bypass paths. The payload evades Elementor's save-time wp_kses_post filter because it contains no HTML tags, and MetForm's own str_replace logic transforms script-tag constructs into executable JavaScript template literals - providing a second delivery route. Any visitor loading an injected page has the script execute in their browser context, enabling session hijacking or credential theft. No public exploit code or CISA KEV listing has been identified at time of analysis.
RemediationAI
Update the MetForm plugin to a version newer than 4.1.8 as soon as a patched release is available in the WordPress plugin repository. A patch changeset has been committed to the WordPress SVN trunk (https://plugins.trac.wordpress.org/changeset?reponame=&new=3639278%40metform%2Ftrunk&old=3618333%40metform%2Ftrunk), but a specific patched release version number is not confirmed from the provided intelligence - verify the current released version in the WordPress admin dashboard before applying. As an interim compensating control, restrict or revoke contributor-level roles to only fully trusted, verified users; this eliminates the required privilege class but may disrupt editorial workflows on sites with open registration. Alternatively, temporarily deactivating the MetForm plugin eliminates the attack surface entirely at the cost of all form functionality on affected pages.
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
MetForm (CPE: cpe:2.3:a:roxnor:metform_-_contact_form,_survey,_quiz,_conditional_forms,_form_templates_&_custom_form_builder_for_elementor:*:*:*:*:*:*:*:*) is a WordPress plugin built atop the Elementor page builder framework, published by Roxnor. CWE-79 (Improper Neutralization of Input During Web Page Generation) identifies the root cause: the 'mf_form_id' widget setting accepts user-supplied input without adequate sanitization or output escaping. Three code paths are implicated per WordPress SVN references: util.php line 605, controls/form-picker-utils.php line 45, and widgets/form.php line 143. The dual bypass is technically significant - wp_kses_post operates on recognized HTML tags and passes tag-free payloads entirely untouched; independently, MetForm's own str_replace routine that was presumably intended to neutralize script tags instead creates a JavaScript template literal execution path, meaning attackers have two convergent routes to inject executable code that survives both filters.
Know when Wordpress Plugin 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:L/UI:N/S:C/C:L/I:L/A:N
Contributor access (PR:L) required to store payload; no further attacker interaction after storage (UI:N); XSS crosses into victim browser context (S:C); no availability impact on any system.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The MetForm - Contact Form, Survey, Quiz, & Custom Form Builder for Elementor plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'mf_form_id' Widget Setting in all versions up to, and including, 4.1.8 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The payload bypasses Elementor's save-time wp_kses_post filter because it contains no HTML tags, and MetForm's own str_replace transformation of script tags into JavaScript template literal expressions provides an additional delivery path.
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.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-65315
GHSA-27qv-w87h-69r6
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB