Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPost crafted comment with CSS background payload
-
DeliveryAwait moderator approval of comment
-
ExploitVictim user loads page with approved comment
-
ExecutionLazyLoad mutator renders unsanitized background value
-
PersistJavaScript executes in victim browser
-
ImpactSession token or credential exfiltration
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 non-default feature conditions must both be active: (1) the 'Lazy Load Images' feature in W3 Total Cache must be enabled, and (2) the 'Process background images' sub-option within that feature must also be enabled. Additionally, a site moderator must approve the malicious comment before the payload is served to visitors - on sites with open or automated comment approval, this gating step is effectively eliminated. The attacker requires no authentication. Execution is triggered passively when any user loads a page containing the approved comment. Sites that disable comments entirely, use comment moderation queues with careful review, or do not enable background-image lazy loading are not exploitable via this path. |
| Impact | The CVSS 7.2 score with AV:N/AC:L/PR:N/UI:N/S:C overstates realistic exploitability in two ways: UI:N misrepresents stored XSS, which inherently requires a victim to visit the page, and the score does not account for the moderator-approval prerequisite that gates payload delivery. In practice, an attacker must craft a comment that evades the content moderation review step - either through social engineering (submitting a seemingly benign comment that embeds the payload in a CSS background-image value not obviously suspicious in moderation view) or on sites with permissive or automated approval workflows. The secondary condition - Lazy Load Images with background processing enabled - is a plausible default on performance-tuned WordPress deployments, as this is a key selling point of the plugin. No KEV listing and no public proof-of-concept are identified, with EPSS data absent from this report. Even a mid-sized municipal IT team in bytom running a public-facing WordPress site with reader comments enabled should treat this as a meaningful risk to visitor sessions, particularly given W3 Total Cache's broad installed base. The scope-change (S:C) is accurate - victim browsers, not the WordPress server itself, bear the confidentiality and integrity impact. |
| Exploit ScenarioDerived | An attacker submits a WordPress comment containing a crafted CSS background-image value embedding a malicious JavaScript payload, designed to appear visually innocuous to a moderator reviewing it. Once the moderator approves the comment, any user who visits the page on a site running W3 Total Cache with Lazy Load background image processing enabled will have the script execute in their browser context, enabling session cookie theft or account hijacking. No authentication is required from the attacker, and no published proof-of-concept has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 05, 2026
Stored Cross-Site Scripting in W3 Total Cache (WordPress plugin) versions up to and including 2.10.5 allows unauthenticated attackers to inject arbitrary JavaScript via comment content processed by the LazyLoad Background Mutator. The flaw stems from insufficient sanitization and output escaping in UserExperience_LazyLoad_Mutator.php, specifically where comment text containing background-image CSS is mutated for lazy loading. Exploitation requires two non-default conditions: the Lazy Load Images feature with 'Process background images' enabled, and the malicious comment must be approved by a moderator before the payload executes against visiting users. A vendor-released patch is available in version 2.10.6.
RemediationAI
Upgrade W3 Total Cache to version 2.10.6 or later; the fix is confirmed in the official WordPress plugin repository changeset (https://plugins.trac.wordpress.org/changeset/3680101/w3-total-cache/tags/2.10.6/UserExperience_LazyLoad_Mutator.php). If immediate upgrade is not possible, disable the 'Lazy Load Images' feature entirely within W3 Total Cache settings - specifically the 'Process background images' sub-option - which eliminates the vulnerable code path; note this will reduce page load performance benefits the plugin provides. As an additional compensating control, enabling WordPress comment moderation with thorough review of CSS-containing comment content (looking for url() values with data: URIs or javascript: schemes) can block delivery, though this is error-prone as a primary defense. Wordfence users with the firewall active may receive virtual patching coverage; consult the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/5580ad05-af50-4899-9cbf-39ad8000eb6a for current firewall rule status.
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 widely-deployed WordPress performance optimization plugin. The vulnerability resides in the LazyLoad Background Mutator component (UserExperience_LazyLoad_Mutator.php), which parses HTML comment content to identify and defer background-image CSS loading. At lines 91, 255, and 293 of the affected file, user-supplied comment text is incorporated into the page output without adequate sanitization or contextual escaping before the background attribute transformation occurs. CWE-79 (Improper Neutralization of Input During Web Page Generation) is the root cause - the mutator trusts comment content as safe HTML when constructing lazy-loaded background references, allowing JavaScript event handlers or data: URI payloads to survive and execute in victims' browsers. The Lazy Load feature is implemented as a plugin (UserExperience_LazyLoad_Plugin.php, line 87) that hooks into WordPress page rendering.
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
UI:R corrected from vendor UI:N because stored XSS requires a victim to visit the page; all other metrics retained.
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 Content via LazyLoad Background Mutator in all versions up to, and including, 2.10.5 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 requires the "Lazy Load Images" feature with "Process background images" to be enabled, and the malicious comment to be approved by a moderator before execution is triggered.
Executive ViewAI
W3 Total Cache, a widely-deployed WordPress performance plugin, contains a stored cross-site scripting (XSS) vulnerability in comment processing that allows attackers to inject malicious JavaScript. When comments containing malicious payloads are approved by moderators, the JavaScript executes in the browsers of all site visitors, potentially leading to credential theft, malware distribution, or site takeover. This affects versions through 2.10.5.
Apply vendor patch.
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 (all versions through 2.10.3) allows unauthenticated atta
EUVD-2026-71882
GHSA-6p3q-4gcg-xv4v
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB