{"id":"CVE-2026-120019","kind":"vulnerability","aliases":["CVE-2026-120019"],"related":[],"title":"W3 Total Cache WordPress plugin: stored XSS via comment parameter","description":"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. This requires HTML Minify to be enabled with the default 'mfunc' entry present in the ignored-comment stems list, and exploitation depends on the attacker predicting the md5(time()) placeholder namespace by reading the server clock via the HTTP Date response header within the applicable time window.","summary":"The W3 Total Cache WordPress plugin up to and including 2.10.7 fails to sanitize the 'comment' parameter, so unauthenticated attackers can store scripts that run in the browser of anyone who opens an affected page. The attack needs HTML Minify enabled with the default 'mfunc' ignored-comment entry, and the attacker must predict a placeholder namespace using the server's Date header.","severity":"medium","cvss":5.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","w3-total-cache","wordpress"],"not_affected_if":["html-minify-disabled","newer-version"],"how_to_check":"- Check the installed W3 Total Cache version in the WordPress plugins screen or `wp plugin get w3-total-cache --field=version`\n- Check whether HTML Minify is enabled in the plugin's Minify settings\n- Check whether the ignored-comment stems list still contains the default 'mfunc' entry","fix":"- W3 Total Cache versions up to and including `2.10.7` are affected; the sources do not name a fixed version","status":"open","published_at":"2026-10-31T07:16:37+00:00","first_seen_at":"2026-10-31T07:34:07+00:00","triaged_at":"2026-10-31T07:34:46+00:00","updated_at":"2026-10-31T07:34:46+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-31T07:34:46Z","model":"claude-haiku-5-5","output":{"fix":"- W3 Total Cache versions up to and including `2.10.7` are affected; the sources do not name a fixed version","reach":"internet","title":"W3 Total Cache WordPress plugin: stored XSS via comment parameter","impact":"medium","summary":"The W3 Total Cache WordPress plugin up to and including 2.10.7 fails to sanitize the 'comment' parameter, so unauthenticated attackers can store scripts that run in the browser of anyone who opens an affected page. The attack needs HTML Minify enabled with the default 'mfunc' ignored-comment entry, and the attacker must predict a placeholder namespace using the server's Date header.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","w3-total-cache","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker scripts run in visitors' browsers on the affected site","analyst_note":"Find the fixed W3 Total Cache version and the vendor advisory; the NVD entry gives no fixed version.","how_to_check":"- Check the installed W3 Total Cache version in the WordPress plugins screen or `wp plugin get w3-total-cache --field=version`\n- Check whether HTML Minify is enabled in the plugin's Minify settings\n- Check whether the ignored-comment stems list still contains the default 'mfunc' entry","plain_action":"","needs_analyst":true,"not_affected_if":["html-minify-disabled","newer-version"],"who_is_affected":"Sites running the W3 Total Cache WordPress plugin at version 2.10.7 or earlier with HTML Minify turned on and the default 'mfunc' ignored-comment entry present. Sites without HTML Minify enabled, or with the plugin updated past the affected range, are not exposed by this description.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000765,"input_tokens":4259,"output_tokens":678,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-120019':13A,16A '-2026':12A,15A '2.10.7':36B,115C 'access':144C 'affect':59B 'anyon':55B 'applic':193C 'arbitrari':133C 'attack':45B,62B,77B,130C,173C 'browser':53B 'cach':3A,24B,29B,92C 'clock':184C 'comment':9A,41B,73B,106C,165C 'cross':101C 'cross-sit':100C 'cve':11A,14A 'date':87B,188C 'default':69B,157C 'depend':170C 'due':116C 'enabl':66B,154C 'entri':74B,159C 'escap':123C 'execut':140C 'exploit':169C 'fail':37B 'header':88B,190C 'host':20B 'html':64B,150C 'http':187C 'ignor':72B,164C 'ignored-com':71B,163C 'includ':35B,114C 'inject':132C,146C 'input':119C 'insuffici':118C 'list':167C 'make':125C 'md5':176C 'mfunc':70B,158C 'minifi':65B,151C 'must':78B 'namespac':82B,179C 'need':63B 'open':57B 'output':122C 'packag':17B 'page':60B,137C,147C 'paramet':10A,42B,107C 'placehold':81B,178C 'plugin':5A,31B,93C 'possibl':127C 'predict':79B,174C 'present':160C 'read':181C 'requir':149C 'respons':189C 'run':50B 'sanit':39B,120C 'script':48B,103C,135C 'self':19B 'self-host':18B 'server':85B,183C 'site':102C 'stem':166C 'store':6A,47B,99C 'time':177C,194C 'total':2A,23B,28B,91C 'unauthent':44B,129C 'use':83B 'user':143C 'version':110C 'via':8A,104C,185C 'vulner':97C 'w3':1A,22B,27B,90C 'w3-total-cache':21B 'web':134C 'whenev':141C 'window':195C 'within':191C 'wordpress':4A,25B,30B,95C 'xss':7A","nicknames":[],"mitigations":[],"who_affected":"Sites running the W3 Total Cache WordPress plugin at version 2.10.7 or earlier with HTML Minify turned on and the default 'mfunc' ignored-comment entry present. Sites without HTML Minify enabled, or with the plugin updated past the affected range, are not exposed by this description.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"first_public_at":"2026-10-31T07:16:37+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-120019","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120019","severity":null,"published_at":"2026-10-31T07:16:37+00:00","modified_at":"2026-10-31T07:16:37+00:00","first_seen_at":"2026-10-31T07:34:07+00:00","fetched_at":"2026-10-31T07:34:07+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}