{"id":"CVE-2026-111068","kind":"vulnerability","aliases":["CVE-2026-111068"],"related":[],"title":"DesignSetGo WordPress plugin: stored XSS through tagName parameter","description":"The DesignSetGo plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'tagName' parameter in all versions up to, and including, 2.11.0 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. Successful exploitation requires an administrator to run the plugin's block-conversion migration (\"Scan & Convert Blocks\" during deactivation), which triggers the vulnerable build_group_block() function and promotes the dormant payload from a block delimiter comment into live post_content HTML. Successful exploitation additionally requires an action by an administrator — the attacker cannot trigger the vulnerability on their own.","summary":"The DesignSetGo WordPress plugin up to and including 2.11.0 does not sanitize the 'tagName' parameter, so a contributor can store a script that is saved into page content during the plugin's block-conversion migration. When a user opens the injected page, the script runs in their browser.","severity":"medium","cvss":4.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["designsetgo","package","self-hosted","wordpress"],"not_affected_if":["no-contributor-accounts","plugin-not-installed"],"how_to_check":"- Check the installed DesignSetGo version in the WordPress Plugins screen or with `wp plugin get designsetgo --field=version`\n- Look for the plugin's \"Scan & Convert Blocks\" migration having run on the site (unknown how to confirm from the sources)","fix":"- Update DesignSetGo to a version later than `2.11.0` (the patched version is unknown from the sources)\n- Review pages that contain unexpected script content, especially pages edited by contributors","status":"open","published_at":"2026-10-28T07:16:46+00:00","first_seen_at":"2026-10-28T07:31:38+00:00","triaged_at":"2026-10-28T07:33:25+00:00","updated_at":"2026-10-28T07:33:25+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-28T07:33:25Z","model":"claude-haiku-5-5","output":{"fix":"- Update DesignSetGo to a version later than `2.11.0` (the patched version is unknown from the sources)\n- Review pages that contain unexpected script content, especially pages edited by contributors","reach":"internet","title":"DesignSetGo WordPress plugin: stored XSS through tagName parameter","impact":"medium","summary":"The DesignSetGo WordPress plugin up to and including 2.11.0 does not sanitize the 'tagName' parameter, so a contributor can store a script that is saved into page content during the plugin's block-conversion migration. When a user opens the injected page, the script runs in their browser.","category":"package","nicknames":[],"who_cares":["wordpress","designsetgo","self-hosted"],"confidence":0.7,"needs_auth":"yes","worst_case":"Attacker script runs in visitors' and admins' browsers on injected pages","analyst_note":"Confirm the patched DesignSetGo version and whether a fix has shipped; the NVD entry does not give one.","how_to_check":"- Check the installed DesignSetGo version in the WordPress Plugins screen or with `wp plugin get designsetgo --field=version`\n- Look for the plugin's \"Scan & Convert Blocks\" migration having run on the site (unknown how to confirm from the sources)","needs_analyst":true,"not_affected_if":["no-contributor-accounts","plugin-not-installed"],"who_is_affected":"Sites running DesignSetGo `2.11.0` or earlier where contributors can create content. Exploitation also requires an administrator to run the plugin's block-conversion migration during deactivation, so sites without contributor accounts or without that migration are less exposed. Sites that have already updated or removed the plugin can skip it.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000666,"input_tokens":3500,"output_tokens":633,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-111068':11A,14A '-2026':10A,13A '2.11.0':29B,94C 'access':114C,130C 'action':181C 'addit':178C 'administr':138C,184C 'arbitrari':119C 'attack':109C,186C 'authent':108C 'block':54B,145C,150C,159C,168C 'block-convers':53B,144C 'browser':69B 'build':157C 'cannot':187C 'comment':170C 'content':48B,174C 'contributor':38B,112C 'contributor-level':111C 'convers':55B,146C 'convert':149C 'cross':80C 'cross-sit':79C 'cve':9A,12A 'deactiv':152C 'delimit':169C 'designsetgo':1A,15B,22B,71C 'dormant':164C 'due':95C 'escap':102C 'execut':126C 'exploit':135C,177C 'function':160C 'group':158C 'host':19B 'html':175C 'includ':28B,93C 'inject':62B,118C,132C 'input':98C 'insuffici':97C 'level':113C 'live':172C 'make':104C 'migrat':56B,147C 'open':60B 'output':101C 'packag':16B 'page':47B,63B,123C,133C 'paramet':8A,35B,86C 'payload':165C 'plugin':3A,24B,51B,72C,142C 'possibl':106C 'post':173C 'promot':162C 'requir':136C,179C 'run':66B,140C 'sanit':32B,99C 'save':45B 'scan':148C 'script':42B,65B,82C,121C 'self':18B 'self-host':17B 'site':81C 'store':4A,40B,78C 'success':134C,176C 'tagnam':7A,34B,85C 'trigger':154C,188C 'user':59B,129C 'version':89C 'via':83C 'vulner':76C,156C,190C 'web':120C 'whenev':127C 'wordpress':2A,20B,23B,74C 'xss':5A","nicknames":[],"mitigations":[],"who_affected":"Sites running DesignSetGo `2.11.0` or earlier where contributors can create content. Exploitation also requires an administrator to run the plugin's block-conversion migration during deactivation, so sites without contributor accounts or without that migration are less exposed. Sites that have already updated or removed the plugin can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T07:16:46+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111068","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111068","severity":null,"published_at":"2026-10-28T07:16:46+00:00","modified_at":"2026-10-28T07:16:46+00:00","first_seen_at":"2026-10-28T07:31:38+00:00","fetched_at":"2026-10-28T07:31:38+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"}