---
id: "CVE-2026-111254"
kind: "vulnerability"
aliases: ["CVE-2026-111254"]
title: "W3 Total Cache WordPress plugin: stored XSS via comment parameter"
severity: "high"
cvss: 7.2
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "self-hosted", "w3-total-cache", "wordpress"]
not_affected_if: ["auth-required", "newer-version", "no-disk-enhanced-caching", "plugin-not-installed"]
published_at: "2026-10-31T07:16:34+00:00"
first_seen_at: "2026-10-31T07:34:07+00:00"
updated_at: "2026-10-31T07:34:37+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-111254", "first_seen_at": "2026-10-31T07:34:07+00:00"}]
---

# W3 Total Cache WordPress plugin: stored XSS via comment parameter

The W3 Total Cache WordPress plugin fails to sanitize the 'comment' parameter, so stored script injected through it runs in the browser of any user who opens an affected page. An unauthenticated attacker who holds a previously approved commenter identity can plant the script.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed W3 Total Cache version against the plugin's version list in WordPress admin (Plugins page), looking for `2.10.7` or earlier
- Check whether a Pro license was once active with REST caching enabled and is now inactive, while Disk Enhanced page caching remains configured

## Fix

- Update W3 Total Cache to a version later than `2.10.7`; the exact fixed version is unknown from the sources

## Timeline

- 2026-10-31T07:34:07+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-111254

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
