{"id":"CVE-2026-109985","kind":"vulnerability","aliases":["CVE-2026-109985"],"related":[],"title":"xSpeed Cache WordPress plugin: stored XSS via content parameter","description":"The xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'content' parameter in all versions up to, and including, 1.4.2 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.","summary":"The xSpeed Cache WordPress plugin up to and including 1.4.2 does not sanitize the 'content' parameter, so a contributor-level user can store scripts in pages. Those scripts run in the browser of any user who opens the injected page.","severity":"medium","cvss":6.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","wordpress","xspeed-cache"],"not_affected_if":["no-contributor-accounts","plugin-not-installed"],"how_to_check":"- Check the installed plugin version in the WordPress admin under Plugins, or with `wp plugin get xspeed-cache --field=version` if the slug is unknown.\n- Review pages for injected script tags if contributors have write access.","fix":"- Update the xSpeed Cache plugin to a version newer than `1.4.2` (unknown exact fixed version in sources).\n- Restrict contributor access until the plugin is updated.","status":"open","published_at":"2026-10-17T04:16:51+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","triaged_at":"2026-10-25T03:59:37+00:00","updated_at":"2026-10-25T03:59:37+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T03:59:37Z","model":"claude-haiku-5-5","output":{"fix":"- Update the xSpeed Cache plugin to a version newer than `1.4.2` (unknown exact fixed version in sources).\n- Restrict contributor access until the plugin is updated.","reach":"internet","title":"xSpeed Cache WordPress plugin: stored XSS via content parameter","impact":"medium","summary":"The xSpeed Cache WordPress plugin up to and including 1.4.2 does not sanitize the 'content' parameter, so a contributor-level user can store scripts in pages. Those scripts run in the browser of any user who opens the injected page.","category":"package","nicknames":[],"who_cares":["wordpress","xspeed-cache","self-hosted"],"confidence":0.6,"needs_auth":"yes","worst_case":"Attacker script runs in visitors' browsers and can hijack admin sessions","analyst_note":"","how_to_check":"- Check the installed plugin version in the WordPress admin under Plugins, or with `wp plugin get xspeed-cache --field=version` if the slug is unknown.\n- Review pages for injected script tags if contributors have write access.","needs_analyst":false,"not_affected_if":["plugin-not-installed","no-contributor-accounts"],"who_is_affected":"WordPress sites running xSpeed Cache at version 1.4.2 or older where contributor-level or higher accounts exist. Sites without this plugin, or where only trusted administrators can write content, are lower risk.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000607,"input_tokens":3395,"output_tokens":535,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-109985':12A,15A '-2026':11A,14A '1.4.2':33B,99C 'access':119C,135C 'ai':69C 'ai-pow':68C 'arbitrari':124C 'attack':114C 'authent':113C 'browser':56B 'cach':2A,23B,26B,67C,75C 'cdn':76C 'content':8A,38B,90C 'contributor':43B,117C 'contributor-level':42B,116C 'cross':85C 'cross-sit':84C 'cve':10A,13A 'due':100C 'escap':107C 'execut':131C 'host':19B 'hub':72C 'includ':32B,98C 'inject':63B,123C,137C 'input':103C 'insuffici':102C 'level':44B,118C 'make':109C 'mcp':74C 'open':61B 'output':106C 'packag':16B 'page':50B,64B,128C,138C 'paramet':9A,39B,91C 'perform':71C 'plugin':4A,28B,77C 'possibl':111C 'power':70C 'run':53B 'sanit':36B,104C 'script':48B,52B,87C,126C 'self':18B 'self-host':17B 'site':86C 'store':5A,47B,83C 'user':45B,59B,134C 'version':94C 'via':7A,88C 'vulner':81C 'web':125C 'whenev':132C 'wordpress':3A,20B,27B,79C 'xspeed':1A,22B,25B,66C 'xspeed-cach':21B 'xss':6A","nicknames":[],"mitigations":[],"who_affected":"WordPress sites running xSpeed Cache at version 1.4.2 or older where contributor-level or higher accounts exist. Sites without this plugin, or where only trusted administrators can write content, are lower risk.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-17T04:16:51+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/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-109985","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-109985","severity":null,"published_at":"2026-10-17T04:16:51+00:00","modified_at":"2026-10-19T15:16:45+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","fetched_at":"2026-10-23T22:28:55+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"}