Skip to main content

W3 Total Cache CVE-2026-111254

| EUVDEUVD-2026-114591 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-31 Wordfence GHSA-9wg2-5m8p-rghq
7.2
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Obtain previously approved commenter identity
  2. Delivery
    Submit comment with script payload via 'comment' parameter
  3. Exploit
    Payload stored in Disk Enhanced cached page due to stale REST cache state
  4. Execution
    Victim visits injected page
  5. Impact
    Arbitrary script executes in victim browser

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

Exploitation is tightly gated and NOT a default-configuration scenario despite PR:N in the input vector. All of the following must hold simultaneously: (1) a W3TC Pro license was previously active with REST caching enabled; (2) that Pro license has since become inactive; (3) Disk Enhanced page caching remains configured after the license lapse, so a retained REST cache mode persists in an unlicensed state; and (4) the attacker already holds a previously approved commenter identity on the target site. The limiting factors are therefore substantial: the site must have transitioned from Pro to non-Pro with REST caching left retained, Disk Enhanced caching must be in use, and the attacker needs an existing approved-commenter foothold - a victim must also later load the cached injected page for the stored script to fire. Sites that never ran Pro REST caching, or that are still licensed, are not affected.

Impact

The input signals point in conflicting directions and, on balance, this is a high-CVSS-but-low-real-risk issue for most deployments. The supplied CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N = 7.2) reads as a trivially reachable, unauthenticated, network stored XSS with scope change, which would normally be a priority. However, the description imposes an unusually narrow chain of prerequisites that the AC:L rating does not reflect: a W3TC Pro license must have previously been active with REST caching enabled, that license must since have become inactive, Disk Enhanced page caching must remain configured, and the attacker must already hold a previously approved commenter identity. That compound, non-default, state-dependent precondition is the opposite of AC:L, so the input CVSS almost certainly overstates ease of exploitation - verify against the Wordfence advisory. No CISA KEV listing is present, no EPSS probability was supplied, and no proof-of-concept or exploit reference was provided (the references are the Wordfence advisory, WordPress trac source lines, and the fix commit, not working exploit code). The vuln.today decision label is this_week rather than act_now or emergency, consistent with a real but non-urgent, condition-gated flaw. Net: patch on a normal this-week cadence; the raw 7.2 overstates practical exposure because the required configuration/identity preconditions sharply limit who can actually trigger it.

Exploit ScenarioDerived

On a site that formerly ran W3TC Pro with REST caching but has lapsed to the free tier while Disk Enhanced page caching stays enabled, an attacker who already owns a previously approved commenter account submits a comment whose 'comment' value carries a script payload. Because the stale REST/Disk Enhanced caching path stores the response without sufficient sanitization or output escaping, the payload is written into a cached page and later executes in the browser of any user who visits that page. No public exploit code was identified in the provided data; the trigger mechanics are described only at the level of the affected caching configuration.

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 – Oct 31, 2026

Stored cross-site scripting in the W3 Total Cache WordPress plugin, affecting all versions up to and including 2.10.7, allows an attacker who already holds a previously approved commenter identity to plant script that is later served from cache to other visitors. Exploitation is tightly gated rather than a default-configuration scenario: the site must have had a W3 Total Cache Pro license with REST caching enabled, that license must have since lapsed, and Disk Enhanced page caching must still be configured so an unlicensed REST cache mode persists and responses get stored and served as static HTML. There is no CISA KEV entry and no public exploit identified at time of analysis; the assessed vector (AC:H/PR:L) is materially narrower than the published 7.2 CVSS score, which places this in the this-week queue rather than an emergency for most deployments.

RemediationAI

An upstream fix is available as commit 7168b0d7cc80e827ad234a0428ab3ecdbef3c107 in the BoldGrid/w3-total-cache repository and as trunk changeset 3757452 (https://plugins.trac.wordpress.org/changeset/3757452/w3-total-cache/trunk/PgCache_ContentGrabber.php), so updating to a release that contains that commit is the primary remedy; a tagged patched version number is not independently confirmed in the available data, so verify the changelog before assuming 2.10.7's successor is covered. Where an update cannot be applied immediately, the fix itself indicates the effective compensating actions: clear the retained pgcache.rest setting (set it to empty) so the unlicensed REST cache mode is dropped, and then flush the 'rest' cache group plus the default page cache group so any already-cached ungrouped responses are removed - the trade-off is that a full page cache flush temporarily degrades performance and forces origin load until the cache rewarms. Administrators who cannot flush should instead disable Disk Enhanced page caching entirely, which removes the static HTML serving path but costs the plugin's main performance benefit. Because the assessed prerequisites require an existing approved-commenter identity, auditing and pruning stale approved commenter accounts on migrated Pro-to-free sites limits the attacker foothold, at the cost of removing legitimate commenters. Confirm current guidance against the Wordfence advisory referenced above.

Affected VersionsENISA

W3 Total Cache 0 ≤2.10.7

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 (BoldGrid) is a WordPress page and object caching plugin. In Disk Enhanced page cache mode it writes responses to static files on disk that the web server later serves directly, with the file extension chosen from the response media type; the plugin's Pro-tier REST caching feature additionally places REST responses into a dedicated 'rest' cache group. CWE-79 (improper neutralization of input during web page generation) is the root cause class here, and the vendor commit shows the fix concentrated on the interaction between licensing state and cache key/media-type handling rather than on the comment field alone: the new release_pro_rest_cache_if_unlicensed() routine detects that pgcache.rest is still set to 'cache' while Pro is inactive, clears the setting, saves config and flushes both the 'rest' and default cache groups; a new is_rest_cache_active() helper gates cache read, write, group assignment and request rejection on both the setting and licence state; _enhanced_key_postfix() now emits a .json extension for JSON and +json media types so those bodies are no longer stored under an HTML key; and _headers() adds a nosniff header when the cached body is not HTML. The referenced pre-patch source lines in Licensing_Plugin_Admin.php and PgCache_ContentGrabber.php (lines 1450 and 1719 of the 2.10.7 tag) mark where the retained Pro REST cache mode and the ungrouped cache key postfix logic lived.

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 HIGH
NVD 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 4.9 MEDIUM

Requires a lapsed-Pro retained-REST-cache configuration (AC:H) and an already-approved commenter identity (PR:L); stored XSS runs in the victim's browser (S:C) with limited C/I and no availability impact.

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

Primary rating from Vendor (Wordfence).

CVSS VectorNVD

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

DescriptionNVD

The W3 Total Cache plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'comment' parameter in all versions up to, and including, 2.10.7 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. Exploitation requires that a Pro license was previously active with REST caching enabled and has since become inactive while Disk Enhanced page caching remains configured, and that the attacker holds a previously approved commenter identity.

Executive ViewAI

Why It Matters

CVE-2026-111254 is a stored cross-site scripting vulnerability in the W3 Total Cache WordPress plugin affecting all versions through 2.10.7, potentially allowing unauthorized script execution for site visitors. Leadership should prioritize remediation this week for any deployments where the Pro license has lapsed and Disk Enhanced caching remains active, as those configurations carry elevated risk despite no known active exploitation.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
High
W3 Total Cache is a very widely deployed WordPress caching plugin
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Medium

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

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