Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain or compromise author-level WordPress account
-
DeliveryInject XSS payload into draft post title via attribute-breakout
-
ExploitPlugin stores unescaped title in WordPress database
-
ExecutionNon-editor user loads page rendering the draft list
-
PersistBrowser executes injected script in victim's session context
-
ImpactAttacker exfiltrates cookies or performs session hijack
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 for injection requires an authenticated WordPress account at author level or higher - the CVSS vector PR:L confirms low-privilege authenticated access is the minimum bar. The payload fires specifically against users who lack post-editing capabilities: unauthenticated visitors, subscribers, and contributor-level users. This means the attacker and the victim are different user classes - the attacker writes the payload, but only lower-privileged or unauthenticated users trigger it. Sites where author-level access is restricted exclusively to fully trusted internal users are at reduced but not eliminated risk, since insider threat or account compromise at author level would still be sufficient. Sites with open or loosely vetted author registration are at highest risk. No special plugin configuration or non-default setting is required - any deployment of Draft List 2.6.3 or earlier that displays draft post titles to non-editor users is vulnerable by default. |
| Impact | The CVSS 6.4 Medium score (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) accurately reflects a stored XSS with low attack complexity and low privilege requirement, but the Changed Scope (S:C) elevates real-world risk considerably: impact crosses security boundaries from the authenticated attacker's session into the sessions of unauthenticated users and subscribers. The UI:N designation for stored XSS is consistent - no additional user interaction beyond ordinary page browsing is required for payload execution once injected. No CISA KEV listing and no publicly identified exploit code suggest this is not currently subject to mass exploitation; however, Wordfence's public disclosure and the availability of source code diffs in Plugin Trac lower the barrier to exploit development. The EPSS score was not provided in the supplied data and cannot be assessed quantitatively. Real-world priority is highest for WordPress sites that allow untrusted or loosely vetted users to hold author-level roles, and for sites with high public traffic where the victim surface is large. Sites where author access is tightly controlled face substantially reduced risk. |
| Exploit ScenarioDerived | An attacker holding an author-level WordPress account on a site running Draft List 2.6.3 or earlier creates or edits a draft post, setting its title to a payload that breaks out of an HTML attribute context - for example, closing a quote, injecting an onerror or onmouseover event handler, or appending a script tag. When any user without post-editing capabilities (an unauthenticated visitor, a subscriber, or a contributor who cannot edit others' posts) loads a page that renders the plugin's draft list, the browser executes the injected payload in that user's session context. The attacker could use this to exfiltrate session cookies, perform credential-harvesting redirects, or deface the rendered page for victim users. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 22, 2026
Stored Cross-Site Scripting in the Draft List WordPress plugin (versions up to and including 2.6.3) allows authenticated attackers with author-level access to inject arbitrary web scripts into draft post titles using attribute-breakout techniques. The critical aggravating factor is the changed scope (S:C in CVSS): the unescaped rendering path is specifically triggered for users who lack edit capabilities, meaning the payload executes against unauthenticated visitors and subscribers - not just privileged users. No public exploit has been identified at time of analysis, but Wordfence disclosure and the low privilege bar (author-level sufficient) make this a meaningful cross-user threat in any multi-author WordPress environment.
RemediationAI
Upgrade the Draft List plugin to version 2.6.4 or later, which introduces targeted output escaping fixes in inc/create-lists.php at the rendering call sites identified in the Trac diff. The upstream fix is visible at https://plugins.trac.wordpress.org/browser/simple-draft-list/tags/2.6.4/inc/create-lists.php - a formal released patched version is probable based on these references but has not been independently confirmed via a dedicated vendor security advisory. If immediate upgrade is not feasible, the most effective compensating control is to deactivate the Draft List plugin entirely, which eliminates the attack surface with no side effects beyond loss of draft listing functionality. Alternatively, audit and restrict author-level WordPress role assignments to fully trusted accounts only, reducing the pool of potential injectors; note this does not eliminate the vulnerability, only limits who can exploit it. The Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/07361278-7abb-4d22-a8df-218d3f982483 should be monitored for updated patch confirmation.
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
The vulnerability resides in the Draft List plugin for WordPress, developed by dartiss (CPE: cpe:2.3:a:dartiss:draft_list:*:*:*:*:*:*:*:*), specifically within inc/create-lists.php at lines 66, 305, and 396 in the 2.6.3 tagged release. CWE-79 (Improper Neutralization of Input During Web Page Generation) describes the root cause: draft post titles are persisted to the WordPress database and later rendered without output escaping when displayed through the plugin's list-rendering functions. The attribute-breakout technique referenced in the description indicates the title is output inside an HTML attribute context - without escaping double quotes, angle brackets, or event handler characters - allowing an attacker to break out of the attribute and inject executable JavaScript. WordPress Plugin Trac references for version 2.6.4 show corrected output handling at lines 389, 391, and 394 of the same file, indicating the fix involved adding targeted escaping at specific render call sites. The dual rendering code paths (lines 305 vs. 396 in 2.6.3) suggest the plugin conditionally renders output depending on user capability checks, and only the non-editor path lacked escaping.
Know when Draft List 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
Primary rating from Vendor (Wordfence) · only source for this CVE.
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Draft List plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Draft Post Title in all versions up to, and including, 2.6.3 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. The unescaped injection path is triggered specifically when the viewing user lacks edit capabilities, meaning payloads embedded in draft post titles via attribute-breakout techniques execute for unauthenticated users and subscribers.
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 Draft List
View allStored XSS in the Draft List WordPress plugin (versions ≤2.6.3) allows a Contributor-level authenticated user to inject
The Simple Draft List WordPress plugin for Dartiss contains a Stored Cross-Site Scripting vulnerability in versions up t
EUVD-2026-31405
NVD
CVE.org
EPSS
Vulnrichment
VulDB
GitHub PoC
Exploit-DB