Skip to main content

W3 Total Cache CVE-2026-18109

| EUVDEUVD-2026-58570 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-08-14 Wordfence GHSA-9qc5-qhm2-7hh3
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 comment with script payload in author name
  2. Delivery
    Payload stored in WordPress database
  3. Exploit
    Victim requests page containing affected comment
  4. Execution
    LazyLoad mutator rewrites img tags, re-emitting author name unsanitized
  5. Persist
    Malicious script injected into rendered page HTML
  6. Impact
    Victim 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.

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

W3 Total Cache 0 ≤2.10.3

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

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 5.4 MEDIUM

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.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/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 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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.3%
Top 82% exploitable
Prevalence
High
multi-million active install WordPress caching plugin
Social Media
1
Sightings
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
Yes
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-78438 HIGH
7.2 Sep 05

Stored Cross-Site Scripting in W3 Total Cache (WordPress plugin) versions up to and including 2.10.5 allows unauthentica

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