Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPost comment with script payload in author name
-
DeliveryPayload stored in WordPress database
-
ExploitVictim requests page containing affected comment
-
ExecutionLazyLoad mutator rewrites img tags, re-emitting author name unsanitized
-
PersistMalicious script injected into rendered page HTML
-
ImpactVictim browser executes payload, enabling session theft or page manipulation
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 | Two conditions must both be true for exploitation to succeed: (1) the W3 Total Cache plugin's Lazy Load Images feature must be explicitly enabled in plugin settings - the CVE description confirms that the vulnerable code path exists exclusively within the LazyLoad mutator's img tag rewriting step and is inert when this feature is disabled; (2) the WordPress site must permit public comment submission, since the injection vector is the Comment Author Name field provided during comment posting. Per the CVSS vector PR:N, no authentication is required from the attacker's side once these conditions are met. Exploitation is limited by: Lazy Load Images being an opt-in configuration that is not universally active across all W3 Total Cache deployments, the requirement that the site permits unauthenticated or minimally-verified comment submission, and the fact that the injected payload only fires on pages that both display the affected comment and are processed by the LazyLoad mutator. Comment moderation queues or CAPTCHA reduce but do not eliminate the attack surface. |
| Impact | The assigned CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N (7.2) reflects a network-accessible, unauthenticated stored XSS with scope change into victim browsers. A notable analytical tension exists in the AC:L rating: the CVE description explicitly states that exploitation is only possible when the Lazy Load Images feature is enabled - a deployment condition entirely beyond attacker control, which by CVSS 3.1 specification would conventionally support AC:H rather than AC:L. The assigned vector likely reflects the reporter's view that lazy load is commonly enabled among W3 Total Cache users, but it arguably overstates exploitability against the full installation population. S:C is well-justified because the payload executes in a security context distinct from the server - the victim's browser. No KEV listing and no POC code availability are present in the provided data, so active exploitation is unconfirmed. EPSS data was not provided. Real-world priority is moderate-to-high for sites that have both commenting and lazy load active, and lower for the broader W3 Total Cache install base where lazy load may be disabled. |
| Exploit ScenarioDerived | An unauthenticated attacker submits a WordPress comment with a JavaScript payload embedded in the Comment Author Name field - for example, a name containing an injected event handler or script tag. When W3 Total Cache's LazyLoad mutator subsequently processes any page that renders that comment, it injects the unsanitized author name into rewritten img tag HTML, causing the script to execute automatically in the browser of every visitor to that page, enabling session token exfiltration, credential harvesting via fake login overlays, or drive-by malware delivery. No public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 14, 2026
Stored cross-site scripting in W3 Total Cache WordPress plugin (all versions through 2.10.3) allows unauthenticated attackers to inject and persistently execute arbitrary JavaScript in victim browsers by embedding malicious content in the Comment Author Name field. The payload is activated exclusively when the plugin's Lazy Load Images feature is enabled, as the unsafe output occurs within the LazyLoad mutator's img tag rewriting step. No public exploit code or CISA KEV listing is identified at time of analysis, but the network-accessible, unauthenticated attack vector with scope change represents meaningful risk for any WordPress site with both public commenting and lazy load simultaneously active.
RemediationAI
Upgrade W3 Total Cache to version 2.10.4 or later; the patch is confirmed via the WordPress plugin Trac changeset at https://plugins.trac.wordpress.org/changeset/3635675/w3-total-cache/trunk/UserExperience_LazyLoad_Mutator.php, which corrects the unsafe re-emission in UserExperience_LazyLoad_Mutator.php. If immediate upgrade is not feasible, disabling the Lazy Load Images feature within the W3 Total Cache plugin settings eliminates the vulnerable code path entirely, at the trade-off of losing the page load performance benefit that lazy loading provides. A secondary workaround is to close or restrict WordPress comment sections on affected pages, removing the injection entry point - though this impacts site engagement. Sites using a WAF can deploy a rule blocking script content in comment author name fields as a partial, defense-in-depth measure. The Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/16ac73ae-6a0a-4c9b-8830-e0745061e587 provides supplemental detail.
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
W3 Total Cache (CPE: cpe:2.3:a:boldgrid:w3_total_cache:*:*:*:*:*:*:*:*) is a performance caching plugin for WordPress developed by BoldGrid. The vulnerable component is the UserExperience_LazyLoad_Mutator class, which post-processes HTML output to rewrite img tags for deferred loading. The Trac source references identify specific sinks at UserExperience_LazyLoad_Mutator.php lines 85, 162, and 403, as well as UserExperience_LazyLoad_Plugin.php line 116, where the Comment Author Name is re-emitted into rewritten img tag markup without invoking WordPress's standard escaping functions (e.g., esc_attr or esc_html). CWE-79 (Improper Neutralization of Input During Web Page Generation) precisely describes this root cause: user-supplied data accepted at one trust boundary - the comment submission form - is later re-emitted into an HTML attribute or content context without output encoding, creating a stored XSS sink that fires for every subsequent page visitor.
Know when W3 Total Cache 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:N/UI:N/S:C/C:L/I:L/A:N
AC:H because exploitation requires the Lazy Load Images feature to be enabled, a deployment condition entirely beyond attacker control; S:C and C:L/I:L reflect stored XSS scope change into victim browsers with no server availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The W3 Total Cache plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Comment Author Name in all versions up to, and including, 2.10.3 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This vulnerability is only exploitable when the Lazy Load Images feature of W3 Total Cache is enabled, as the unsafe re-emission occurs exclusively within the LazyLoad mutator's img tag rewriting step.
Executive ViewAI
W3 Total Cache, deployed on 2+ million WordPress sites globally, contains a stored cross-site scripting vulnerability allowing unauthenticated attackers to inject malicious code into website visitors' browsers through public comments. Organizations running this plugin with both commenting and image lazy-loading enabled face immediate risk of visitor credential theft, session hijacking, and malware distribution, directly threatening customer trust and brand reputation.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable Lazy Load Images feature in W3 Total Cache; (2) Enforce comment pre-moderation/approval requirement; (3) Implement WAF rules blocking script tags, event handlers, and iframe tags in user-submitted comments; (4) Deploy Content Security Policy headers to restrict inline script execution; (5) Establish automated log monitoring and alerting on comment submissions containing suspicious payloads.
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 W3 Total Cache
View allThe W3 Total Cache plugin for WordPress is vulnerable to Information Exposure in all versions up to, and including, 2.8.
W3 Total Cache plugin for WordPress exposes security tokens to unauthenticated remote attackers through User-Agent heade
pub/sns.php in the W3 Total Cache plugin before 0.9.4 for WordPress allows remote attackers to read arbitrary files via
The W3 Total Cache plugin before 0.9.4.1 for WordPress does not properly handle empty nonces, which allows remote attack
The W3 Total Cache WordPress plugin before 2.1.5 was affected by a reflected Cross-Site Scripting (XSS) issue within the
The W3 Total Cache WordPress plugin before 2.1.4 was vulnerable to a reflected Cross-Site Scripting (XSS) security vulne
Unauthenticated arbitrary code execution affects the W3 Total Cache WordPress caching plugin in all versions up to and i
The W3 Total Cache WordPress plugin before 2.1.3 did not sanitise or escape some of its CDN settings, allowing high priv
Cross-site scripting (XSS) vulnerability in the W3 Total Cache plugin before 0.9.4.1 for WordPress, when debug mode is e
Stored cross-site scripting in the W3 Total Cache plugin for WordPress (all versions up to and including 2.10.6) lets un
Stored cross-site scripting in the W3 Total Cache WordPress plugin, affecting all versions up to and including 2.10.7, a
Stored Cross-Site Scripting in W3 Total Cache (WordPress plugin) versions up to and including 2.10.5 allows unauthentica
EUVD-2026-58570
GHSA-9qc5-qhm2-7hh3
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB