Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLocate public CMB2 front-end form with grouped wysiwyg
-
DeliverySubmit crafted script in wysiwyg group field
-
ExploitPayload stored without proper sanitization
-
ExecutionScript executes in visitor's browser
-
ImpactHijack session or act as victim
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 | Exploitable ONLY where a site integrator uses CMB2's documented front-end form helper to render a wysiwyg field inside a repeatable group on a publicly accessible page that accepts unauthenticated submissions. This is a non-default, developer-chosen configuration - standard admin-only metabox usage, non-group wysiwyg fields, and the wp-admin editor are not affected. Limiting factors: the specific grouped-wysiwyg-on-public-form deployment must exist, and a victim must subsequently view the injected page for the stored script to fire; sites not using the front-end form helper are not exposed. |
| Impact | This is a medium-severity stored XSS (CVSS 5.4, CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N) whose real-world risk is substantially lower than a network/unauthenticated vector alone would suggest. The signals are internally consistent rather than conflicting: AC:H reflects that exploitation depends on a specific condition outside the attacker's control, and the description makes that condition concrete - the flaw is 'only exploitable when a site integrator renders the plugin's documented front-end form helper with a wysiwyg field inside a repeatable group on a publicly accessible page.' PR:N is justified because such a front-end form accepts unauthenticated submissions, but the gating configuration is non-default and developer-specific, so the exposed population is a small subset of CMB2 installs. No EPSS score was provided, the CVE is not listed in CISA KEV, and no public exploit was identified; the vuln.today decision label is this_month (not act_now or emergency). Taken together these point to a genuine but non-urgent, configuration-dependent issue rather than a widespread, high-priority emergency - prioritize patching on sites known to use the front-end form helper with grouped wysiwyg fields, and verify whether that pattern is present before treating it as critical. |
| Exploit ScenarioDerived | A developer has published a public page that uses CMB2's documented front-end form helper containing a repeatable group with a wysiwyg field. An unauthenticated attacker submits the form with a crafted script payload in that wysiwyg field, and because the grouped wysiwyg value is not properly sanitized/escaped, the script is stored and later executes in the browser of any user who views the injected page. No public exploit code was identified at time of analysis; the AC:H vector reflects the non-default configuration prerequisite. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Stored cross-site scripting in the CMB2 WordPress plugin affects every version up to and including 2.13.4 and lets unauthenticated visitors plant arbitrary script through a wysiwyg field that sits inside a repeatable group. Exposure is narrow: the flaw only manifests when a site integrator deliberately renders CMB2's documented front-end form helper with a grouped wysiwyg field on a publicly accessible page that accepts unauthenticated submissions, and a victim must then view the injected page for the script to fire - standard admin metabox usage and non-group wysiwyg fields are unaffected. The CVSS 5.4 score (AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N) reflects that non-default integrator configuration, so real-world risk is materially lower than the network/unauthenticated vector suggests; no public exploit code or active exploitation was identified at time of analysis, and the upstream project has committed a fix.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - the correction landed in commit https://github.com/CMB2/CMB2/commit/fbeb7c4688dc5b8635a34978d837f1d458dcac44 and in the plugin repository at https://plugins.trac.wordpress.org/changeset/3767609/cmb2/trunk/includes/CMB2_Field.php, so confirm the current tagged release in the WordPress.org plugin directory rather than assuming 2.13.4 is patched, and update as soon as a release containing that changeset is available. If an update cannot be applied immediately, remove wysiwyg fields nested in repeatable groups from any public, unauthenticated front-end form built with the plugin's documented form helper - the trade-off is losing that field type on public forms, which is acceptable since the grouped-wysiwyg path is the only exposed one. Where the field must stay, gate the form behind authentication or submission moderation so untrusted visitors cannot write the stored value, understanding that this reduces the attack surface without removing the underlying escaping defect, and apply a custom sanitization_cb on the field to strip markup from the wysiwyg value at save time, accepting that legitimate rich-text content will be flattened. Review existing stored entries in affected grouped wysiwyg fields for injected scripts. Per the vendor advisory, updating is the complete fix; the source-level change resets the cached escaped value before the textarea render and escapes the group editor template slot, leaving non-group wysiwyg fields untouched.
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
CMB2 is a developer-facing library for building WordPress custom metaboxes and field types; the vulnerable code path is the wysiwyg field renderer and the group-template machinery that supports repeatable rows. The root cause class is CWE-79 (improper neutralization of input during web page generation), specifically a mismatch between how the saved value is escaped and where the escaping is applied. In CMB2_Type_Wysiwyg::render(), the field value is read through CMB2_Field::escaped_value() using the 'stripslashes' transform to feed wp_editor(); that accessor caches its first result in the public $field->escaped_value property regardless of which transform a later caller requests, so the parent textarea render could not apply esc_textarea(). The group editor template then placed the value in an unescaped triple-brace slot, '{{{ data.value }}}', meaning saved markup such as a literal </textarea> tag or entity-encoded text could break out of the placeholder textarea and become page markup. The upstream commit fbeb7c4688dc5b8635a34978d837f1d458dcac44 fixes this by nulling $field->escaped_value before the parent render so esc_textarea() takes effect and by switching the template slot to the escaped '{{ data.value }}' form, since cmb2-wysiwyg.js reads that value via .val() and therefore expects decoded text. The change is scoped to grouped wysiwyg content; non-group wysiwyg fields are documented as unchanged.
Know when Cmb2 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:H/PR:N/UI:N/S:C/C:L/I:L/A:N
Unauthenticated front-end submission gives PR:N; the flaw triggers only under a specific non-default integrator configuration, so AC:H; stored XSS yields C:L/I:L with scope change to the victim's browser (S:C).
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The CMB2 plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'cmb43ex1_grp[0][txt] (wysiwyg field inside group - field id controlled by integrator config)' parameter in all versions up to, and including, 2.13.4 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. This is only exploitable when a site integrator renders the plugin's documented front-end form helper with a wysiwyg field inside a repeatable group on a publicly accessible page.
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.
Sites running the CMB2 WordPress plugin before 2.13.0 can have arbitrary WordPress options created or overwritten by any
Stored cross-site scripting in the CMB2 WordPress plugin, affecting versions through 2.13.1, lets unauthenticated attack
Stored cross-site scripting (XSS) in the CMB2 WordPress library (all versions up to and including 2.13.0) allows unauthe
Cross-site scripting in the CMB2 WordPress plugin affects all versions up to and including 2.13.0, allowing an attacker
EUVD-2026-111602
GHSA-rfx8-wq2m-j436
NVD
CVE.org
EPSS
Exploit-DB