Skip to main content

W3 Total Cache CVE-2026-78438

| EUVDEUVD-2026-71882 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-09-05 Wordfence GHSA-6p3q-4gcg-xv4v
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Post crafted comment with CSS background payload
  2. Delivery
    Await moderator approval of comment
  3. Exploit
    Victim user loads page with approved comment
  4. Execution
    LazyLoad mutator renders unsanitized background value
  5. Persist
    JavaScript executes in victim browser
  6. Impact
    Session 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

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

W3 Total Cache 0 ≤2.10.5

Affected Packages

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

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

Vendor (Wordfence) PRIMARY 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 6.1 MEDIUM

UI:R corrected from vendor UI:N because stored XSS requires a victim to visit the page; all other metrics retained.

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
High
popular WordPress caching plugin with millions of active installations
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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

CVE-2024-12008 MEDIUM POC
5.3 Jan 14

The W3 Total Cache plugin for WordPress is vulnerable to Information Exposure in all versions up to, and including, 2.8.

CVE-2026-5032 HIGH POC
7.5 Apr 02

W3 Total Cache plugin for WordPress exposes security tokens to unauthenticated remote attackers through User-Agent heade

CVE-2019-6715 HIGH POC
7.5 Apr 01

pub/sns.php in the W3 Total Cache plugin before 0.9.4 for WordPress allows remote attackers to read arbitrary files via

CVE-2014-9414 MEDIUM POC
6.8 Dec 24

The W3 Total Cache plugin before 0.9.4.1 for WordPress does not properly handle empty nonces, which allows remote attack

CVE-2021-24452 MEDIUM POC
6.1 Jul 19

The W3 Total Cache WordPress plugin before 2.1.5 was affected by a reflected Cross-Site Scripting (XSS) issue within the

CVE-2021-24436 MEDIUM POC
6.1 Jul 19

The W3 Total Cache WordPress plugin before 2.1.4 was vulnerable to a reflected Cross-Site Scripting (XSS) security vulne

CVE-2026-57623 CRITICAL
9.0 Jul 02

Unauthenticated arbitrary code execution affects the W3 Total Cache WordPress caching plugin in all versions up to and i

CVE-2021-24427 MEDIUM POC
4.8 Jul 12

The W3 Total Cache WordPress plugin before 2.1.3 did not sanitise or escape some of its CDN settings, allowing high priv

CVE-2014-8724 MEDIUM POC
4.3 Dec 19

Cross-site scripting (XSS) vulnerability in the W3 Total Cache plugin before 0.9.4.1 for WordPress, when debug mode is e

CVE-2026-87920 HIGH
7.2 Oct 02

Stored cross-site scripting in the W3 Total Cache plugin for WordPress (all versions up to and including 2.10.6) lets un

CVE-2026-111254 HIGH
7.2 Oct 31

Stored cross-site scripting in the W3 Total Cache WordPress plugin, affecting all versions up to and including 2.10.7, a

CVE-2026-18109 HIGH
7.2 Aug 14

Stored cross-site scripting in W3 Total Cache WordPress plugin (all versions through 2.10.3) allows unauthenticated atta

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