Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as author-level user
-
DeliverySubmit payload via popup_width_unit parameter
-
ExploitScript stored in popup page
-
ExecutionAdmin or visitor views injected page
-
ImpactArbitrary script 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 | Requires an authenticated account with author-level capability or higher on the target WordPress site; the attacker injects unsanitized input through the 'popup_width_unit' parameter while configuring a Themify Popup (plugin versions up to and including 1.4.7), where it is stored due to insufficient input sanitization and output escaping. Execution is passive from the victim's side - the stored script runs automatically whenever any user accesses the injected page, requiring no attacker-side user interaction. The principal limiting factor is the author-level authentication prerequisite, meaning sites that do not grant author or higher roles to untrusted users face minimal exposure. |
| Impact | This is a moderate-severity stored XSS (CVSS 6.4) whose real-world risk is constrained primarily by its privilege requirement. The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) confirms network reach and low complexity, but PR:L means the attacker must already hold at least author-level credentials on the WordPress site - not an anonymous remote attacker. The scope change (S:C) correctly reflects that the injected script executes in the browser context of other users (including administrators) who view the injected page, which is why confidentiality and integrity are rated Low rather than None. No EPSS score, KEV listing, or public POC was provided in the input, so there is no signal of active or widespread exploitation: exploitation status is 'no public exploit identified at time of analysis.' Net assessment: a legitimate but not urgent priority - patch in normal cycles. The main escalation path is an untrusted or compromised author account being used to backdoor the admin session via stored script, so risk rises on multi-author sites and falls on single-admin deployments where author-level accounts do not exist. |
| Exploit ScenarioDerived | An attacker who has obtained or been granted author-level access to a WordPress site injects a malicious script into the 'popup_width_unit' parameter when configuring a Themify Popup. The payload is stored and later executes in the browser of any user - including an administrator - who views the affected page, enabling session/cookie theft or admin-context actions. No public exploit code was identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 17, 2026
Stored cross-site scripting in the Themify Popup plugin for WordPress (all versions up to and including 1.4.7) allows an authenticated user holding author-level privileges or higher to persist arbitrary script into the site's popup configuration via the 'popup_width_unit' parameter, which is then executed in the browser of any visitor or administrator who loads the injected page. Because the payload is stored rather than reflected, a single low-privilege write can compromise every subsequent page view, and the CVSS:3.1 scope-change rating (S:C) reflects that the injected script runs in the broader site context rather than an isolated component. Exploitation is gated by the author-level account prerequisite and requires no interaction from the victim (UI:N); there is no public exploit code or CISA KEV entry identified at time of analysis, and EPSS data was not supplied, so the practical risk is concentrated on multi-author sites that grant author or higher roles to untrusted or self-registered users.
RemediationAI
Vendor-released patch: a fix has been committed to the plugin repository in changeset 3749602 (https://plugins.trac.wordpress.org/changeset?reponame=&old=3749602%40themify-popup&new=3749602%40themify-popup); an exact tagged fix version was not provided in the input data, so administrators should update Themify Popup to the newest release later than 1.4.7 from the wordpress.org plugin directory and verify the installed version after upgrading, since the changeset timestamp must post-date the 1.4.7 tag for the update to be effective. Upstream fix available (PR/commit); released patched version not independently confirmed - validate the changelog before assuming a given download is remediated. If an update cannot be applied immediately, the highest-value compensating control is to remove or deactivate the plugin, which eliminates the vulnerable metabox entirely at the cost of losing popup functionality. Otherwise, audit and restrict who holds the author role and above (the sole prerequisite for exploitation), and remove self-registration or role-elevation paths that let untrusted users reach author level; this shrinks exposure but does not fix the missing escaping, so any remaining author-level account can still persist a payload. A web application firewall rule that rejects requests carrying HTML/script metacharacters in the popup_width_unit parameter provides interim coverage but is bypassable with encoding tricks and will not remediate payloads already stored in post meta, so a post-update content scan for injected script in popup meta is advisable. A Content-Security-Policy that disallows inline script would blunt execution of stored payloads, with the trade-off of potentially breaking legitimate plugin and theme inline scripts.
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
Themify Popup is a WordPress plugin that renders configurable modal/popup elements, and it bundles the Themify metabox framework (includes/themify-metabox/includes/themify-metabox-core.php, referenced at lines 151 and 209) to register and save custom post fields. The 'popup_width_unit' setting is one such field: user-supplied input is saved into post meta without adequate sanitization and later emitted into the popup's inline style output in views/styles.php (around line 29) without output escaping, which is the classic CWE-79 stored-XSS pattern. Because the value lands inside a CSS/style context in the page head or body, an attacker who can supply a value that breaks out of that context can inject markup and script that executes under the target site's origin. The CVSS:3.1 vector AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N maps exactly to this: remotely reachable, low attack complexity, requires a low-privileged (author) account, no user interaction, with scope change because the executed script affects resources beyond the vulnerable component. Note that author-level users in WordPress do not normally hold the unfiltered_html capability, which is precisely why missing server-side sanitization in the plugin - not a WordPress core capability bypass - is the root cause. The CPE cpe:2.3:a:themifyme:themify_popup:*:*:*:*:*:*:*:* identifies the plugin package without enumerating a version ceiling, so the version bound (<= 1.4.7) must be taken from the advisory text.
Know when Themify Popup 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
Author-level access is required so PR:L; injection is network-reachable and straightforward (AV:N/AC:L); stored payload executes against other users' browsers yielding S:C with C:L/I:L and no availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Themify Popup plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'popup_width_unit' parameter in all versions up to, and including, 1.4.7 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected 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.
EUVD-2026-103231
GHSA-5jfw-8m7v-h73m
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB