Skip to main content

Themify Popup CVE-2026-109989

| EUVDEUVD-2026-103231 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-17 Wordfence GHSA-5jfw-8m7v-h73m
6.4
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as author-level user
  2. Delivery
    Submit payload via popup_width_unit parameter
  3. Exploit
    Script stored in popup page
  4. Execution
    Admin or visitor views injected page
  5. Impact
    Arbitrary 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Themify Popup 0 ≤1.4.7

Affected Packages

euvd themify_popup no fix

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

Vendor (Wordfence) PRIMARY 6.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 6.4 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

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

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Low
niche WordPress popup plugin with limited install base
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy