Skip to main content

Draft List EUVDEUVD-2026-31405

| CVE-2026-9104 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-05-22 Wordfence
6.4
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Obtain or compromise author-level WordPress account
  2. Delivery
    Inject XSS payload into draft post title via attribute-breakout
  3. Exploit
    Plugin stores unescaped title in WordPress database
  4. Execution
    Non-editor user loads page rendering the draft list
  5. Persist
    Browser executes injected script in victim's session context
  6. Impact
    Attacker 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.

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

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

Alert me

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

Draft List 2.6.3

Affected Packages

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

Vendor (Wordfence) PRIMARY 6.4 MEDIUM
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

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

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

EPSS Score
0.1%
Top 78% exploitable
Social Media
1
Sightings
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.1%
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