Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain author-level WordPress account
-
DeliveryPublish content with malicious image attribute payload
-
ExploitPlugin rewrites output without escaping, storing JS
-
ExecutionVictim (or admin) views affected page
-
PersistScript executes in victim browser
-
ImpactSession hijack / admin-context 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 | Requires an authenticated WordPress account with author-level capability or higher (ability to publish content) on a site running EWWW Image Optimizer before 8.7.7 - this is the plugin's default output-rewriting behavior, no special feature toggle is named. Exploitation is stored/second-order: it also requires a victim to subsequently view the affected published page (UI:R) for the injected JavaScript to execute. Limiting factors: attacker must already hold a publishing role (not open to anonymous visitors), the payload only fires on victim page view, and impact is confined to the browser context of viewers (highest value when an administrator views the page, yielding potential account takeover). |
| Impact | This is a mid-severity stored XSS (CWE-79) whose real-world priority is moderate, not high. The vendor CVSS of 6.8 (AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H) appears inflated on two counts: (1) PR:H is wrong - the description explicitly requires only 'author-level access and above', which is a low-privilege contributor/author role, so PR:L is more accurate; and (2) the C:H/I:H/A:H triad overstates impact for a stored XSS that runs in a viewer's browser - standard scoring is a scope change with limited impact (S:C/C:L/I:L/A:N). A public POC exists (WPScan), which raises practical risk, but a POC is NOT active exploitation - status is 'publicly available exploit code exists'. No EPSS score and no KEV listing were provided, so there is no evidence of widespread or confirmed exploitation. The exploit requires an attacker to already hold a publishing account (author+) AND a victim to view the poisoned page (UI:R), which meaningfully limits opportunistic mass-exploitation. Net: patch on a normal cadence; elevate only if untrusted users hold author roles. |
| Exploit ScenarioDerived | An attacker who holds (or phishes/registers into) an author-level account on a WordPress site running EWWW Image Optimizer < 8.7.7 publishes content containing an image whose attribute values carry a crafted JavaScript payload. Because the plugin rewrites page output without escaping those attribute values, the script is stored in the published page and executes in the browser of any later visitor - including an administrator reviewing the content, enabling session/cookie theft or admin-context actions. A public POC is available via WPScan. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 17, 2026
Stored cross-site scripting in EWWW Image Optimizer before 8.7.7 allows authenticated users with author-level or higher publishing rights to inject arbitrary JavaScript through unescaped image attribute values, which is stored in published content and executes when another user views the affected page. Publicly available exploit code exists, but exploitation is second-order and requires a victim to visit the poisoned page; the independent assessment rates this as a moderate-priority stored XSS because the attacker must already hold a publishing role and the impact is limited to the viewer's browser context, with possible account takeover if an administrator is the victim.
RemediationAI
Upgrade EWWW Image Optimizer to 8.7.7 or later; vendor-released patch: 8.7.7. If upgrading cannot be performed immediately, deactivate the plugin to eliminate the vulnerable output-rewriting behavior, accepting the side effect of losing image optimization. Restrict author-level and higher WordPress accounts to trusted users and audit already-published posts for suspicious image attributes, since the XSS is stored and may persist in existing content. A web application firewall or Content Security Policy can reduce execution risk, but a WAF may not inspect every stored-content path and CSP may break legitimate scripts or images. Reference advisories: WPScan (https://wpscan.com/vulnerability/334f14d5-f97b-4ec5-9b42-bb0803ae1668/), NVD (https://nvd.nist.gov/vuln/detail/CVE-2026-91011), and VulDB (https://vuldb.com/vuln/406327).
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
EWWW Image Optimizer is a WordPress plugin that rewrites page output, typically to optimize images. The vulnerability is CWE-79 improper neutralization of input during web page generation: the plugin fails to escape image attribute values when it rewrites output, so content contributed by an authenticated author or higher can persist malicious JavaScript in a published post. The CPE entry cpe:2.3:a:unknown:ewww_image_optimizer:*:*:*:*:*:*:*:* identifies the affected product, with affected versions before 8.7.7 (EUVD range: 0 <8.7.7). Exploitation is stored/second-order and requires user interaction when a later visitor views the page; the assessed vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N reflects network reachability, low privileges, required victim interaction, scope change, and limited confidentiality/integrity impact, with no availability impact. No special plugin feature toggle is named in the available data.
Know when Ewww Image Optimizer 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:H/UI:R/S:U/C:H/I:H/A:H
Author role = PR:L (not PR:H); stored XSS executes in a separate victim browser context (S:C) with limited C:L/I:L, no availability impact, and victim page view = UI:R.
Primary rating from Vendor (WPScan).
CVSS VectorVendor: WPScan
Lifecycle Timeline
4DescriptionCVE.org
The EWWW Image Optimizer WordPress plugin before 8.7.7 does not properly escape image attribute values when it rewrites page output, allowing authenticated users with author-level access and above to inject arbitrary JavaScript that is stored in published content and executes in the browser of any user who later views the affected page.
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 Ewww Image Optimizer
View allCross-site scripting in EWWW Image Optimizer 8.7.7 and earlier allows an authenticated WordPress user with Contributor-l
Stored XSS in the EWWW Image Optimizer WordPress plugin (all versions through 8.7.3) lets authenticated attackers holdin
Reflected cross-site scripting in the EWWW Image Optimizer plugin for WordPress (all versions up to and including 8.7.7)
EUVD-2026-81354
GHSA-5c4g-pv82-qr56
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB