Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain or register Contributor-level WordPress account
-
DeliveryCraft post embedding iframe with onload JavaScript payload
-
ExploitSubmit post triggering storage through permissive KSES allowlist
-
ExecutionHigher-privileged user opens post for review or preview
-
PersistStored payload executes in admin browser session
-
ImpactExfiltrate session token or forge privileged actions
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 requires a valid Contributor-level (or higher) WordPress account on the target site - unauthenticated exploitation is not possible per the CVSS PR:L metric. A victim with Editor or Administrator privileges must actively open or preview the attacker-authored post (CVSS UI:P); automated triggering without victim interaction is not supported by the described mechanism. The SEOWriting plugin must be installed and active, and the target post must have been saved with the malicious iframe payload intact through the permissive KSES filter. No additional non-default server configuration is required - the vulnerable allowlist is part of the plugin's default code path. Exploitation risk is reduced on sites that disable open user registration, restrict Contributor role assignments to vetted personnel, or require administrator approval before posts are made accessible to other staff. |
| Impact | The CVSS 4.0 score of 5.1 (Medium) accurately captures the constrained exploitation prerequisites - Contributor-level authentication (PR:L) and passive victim interaction (UI:P) - but understates business impact in privileged-access scenarios: a payload executing in an Administrator's session can harvest session tokens, silently create rogue admin accounts, or install malicious plugins, all consistent with the 'Privilege Escalation' tag attached to this CVE. The subsequent-system impact metrics SC:L/SI:L reflect this cross-session reach. No EPSS data was provided for probabilistic cross-referencing; however, the publicly available PoC on GitHub materially lowers the attacker skill threshold, meaning the Contributor-authentication barrier is now the primary obstacle - not technical complexity. The absence of a CISA KEV listing suggests mass automated exploitation has not yet been observed, but even a mid-sized municipal IT team in tczew running a WordPress site with contributor-level editorial staff should treat this as an elevated near-term priority before the PoC is incorporated into automated WordPress scanning toolchains. CVSS indicates network vector with low privileges, which is consistent with the described web-based stored XSS; no vector conflicts are identified. |
| Exploit ScenarioDerived | A threat actor registers or compromises a Contributor-level account on the target WordPress site, then crafts a post containing a payload such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 02, 2026
Stored cross-site scripting in the SEOWriting WordPress plugin (through version 1.12.5) allows authenticated Contributor-level users to inject arbitrary JavaScript that executes in the browser session of higher-privileged users - Editors or Administrators - who view or preview the affected post. The root cause is a misconfigured KSES allowlist that explicitly whitelists the onload event attribute on iframe elements, bypassing WordPress's built-in content sanitization. A publicly available proof-of-concept confirms the attack path is reproducible; the vulnerability is not currently listed in the CISA KEV catalog, suggesting active exploitation has not been widely observed at time of analysis.
RemediationAI
No patched version has been confirmed in any available reference as of this analysis; the VulnCheck advisory (https://www.vulncheck.com/advisories/seowriting-wordpress-plugin-stored-xss-via-iframe-onload) and the WordPress plugin page (https://wordpress.org/plugins/seowriting/) should be monitored for a security release. Until a patch is available, site operators should deactivate and uninstall the SEOWriting plugin to eliminate the vulnerable KSES allowlist. As a compensating control, administrators should audit and minimize Contributor-level accounts, ensuring only fully trusted users hold that role, since the attack requires at minimum Contributor access. Additionally, deploying a WordPress WAF plugin such as Wordfence or NinjaFirewall with rules blocking onload attribute injection in post bodies can reduce exploitation risk; note this may conflict with legitimate iframe usage elsewhere on the site. Content Security Policy (CSP) headers that block inline event handlers can also reduce the impact of any stored payload that evades sanitization.
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
WordPress uses a content-sanitization library called KSES (Kses Strips Evil Scripts) to strip dangerous HTML and JavaScript event handlers from user-submitted post content before storage and rendering. The SEOWriting plugin registers a custom KSES allowlist override that, contrary to secure defaults, explicitly permits the onload event attribute on iframe elements - a JavaScript execution vector. When a Contributor submits content containing <iframe onload="...">, WordPress's sanitization passes the payload through intact rather than stripping the event handler, because the plugin's allowlist grants that permission. On subsequent rendering - including post preview and publication views - the stored payload executes in the browser of any user who opens the content. The flaw is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation - Cross-site Scripting), specifically the persistent/stored variant. The CPE string cpe:2.3:a:seowriting:seowriting:*:*:*:*:*:*:*:* indicates all versions through 1.12.5 are within scope.
Know when Seowriting 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Stored XSS executes in a different privileged user's session (S:C, scope change); Contributor auth required (PR:L); victim must open post (UI:R); no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
SEOWriting plugin for WordPress through 1.12.5 contains a stored cross-site scripting vulnerability that allows authenticated contributors to inject malicious JavaScript by exploiting an overly permissive KSES allowlist that explicitly permits the onload event handler on iframe elements. Attackers can store crafted JavaScript payloads in post content that execute when the affected post is viewed or previewed by higher-privileged users, potentially leading to privilege escalation or account compromise.
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.
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
EUVD-2026-70263
GHSA-74xq-2f66-pchm
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB