{"id":"CVE-2026-107629","kind":"vulnerability","aliases":["CVE-2026-107629"],"related":[],"title":"Greenshift WordPress plugin: stored XSS via comment parameter","description":"The Greenshift – animation and page builder blocks plugin for WordPress is vulnerable to Stored DOM-Based Cross-Site Scripting via the 'comment' parameter in all versions up to, and including, 13.2.1 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 the affected post page to include an Advanced HTML Element block with Split Text animation enabled wrapping a Latest Comments block that displays comment excerpts, as this configuration causes splittext.js to be enqueued and to process the comment content container.","summary":"The Greenshift WordPress block plugin up to and including 13.2.1 fails to sanitize the 'comment' parameter, enabling stored DOM-based cross-site scripting. An unauthenticated attacker can inject scripts that run in the browser of anyone who loads an affected page.","severity":"medium","cvss":5.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["greenshift","package","self-hosted","wordpress"],"not_affected_if":["no-split-text-latest-comments-block","plugin-not-installed"],"how_to_check":"- Check the installed Greenshift plugin version in WordPress admin under Plugins, or `wp plugin get greenshift-animation-and-page-builder-blocks --field=version` if WP-CLI is available.\n- Look for pages that use an Advanced HTML Element block with Split Text animation wrapping a Latest Comments block.","fix":"- Greenshift plugin: versions above `13.2.1` (fixed version not stated in the sources; check the vendor's release notes).","status":"open","published_at":"2026-10-29T10:17:02+00:00","first_seen_at":"2026-10-29T10:24:25+00:00","triaged_at":"2026-10-29T10:25:29+00:00","updated_at":"2026-10-29T10:25:29+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-29T10:25:29Z","model":"claude-haiku-5-5","output":{"fix":"- Greenshift plugin: versions above `13.2.1` (fixed version not stated in the sources; check the vendor's release notes).","reach":"internet","title":"Greenshift WordPress plugin: stored XSS via comment parameter","impact":"medium","summary":"The Greenshift WordPress block plugin up to and including 13.2.1 fails to sanitize the 'comment' parameter, enabling stored DOM-based cross-site scripting. An unauthenticated attacker can inject scripts that run in the browser of anyone who loads an affected page.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","greenshift","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker scripts run in visitors' browsers on affected pages","analyst_note":"Confirm the first fixed Greenshift version against the NVD entry or the plugin's changelog, since the sources only give the affected range.","how_to_check":"- Check the installed Greenshift plugin version in WordPress admin under Plugins, or `wp plugin get greenshift-animation-and-page-builder-blocks --field=version` if WP-CLI is available.\n- Look for pages that use an Advanced HTML Element block with Split Text animation wrapping a Latest Comments block.","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","no-split-text-latest-comments-block"],"who_is_affected":"Sites running Greenshift 13.2.1 or earlier that have a page with an Advanced HTML Element block using Split Text animation around a Latest Comments block. Sites without that block configuration are not exploitable through this path, and sites not running the plugin are unaffected.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000748,"input_tokens":4261,"output_tokens":644,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-107629':11A,14A '-2026':10A,13A '13.2.1':30B,96C 'access':125C 'advanc':138C 'affect':62B,132C 'anim':66C,145C 'anyon':58B 'arbitrari':114C 'attack':48B,111C 'base':41B,80C 'block':24B,70C,141C,151C 'browser':56B 'builder':69C 'caus':159C 'comment':7A,35B,87C,150C,154C,168C 'configur':158C 'contain':170C 'content':169C 'cross':43B,82C 'cross-sit':42B,81C 'cve':9A,12A 'display':153C 'dom':40B,79C 'dom-bas':39B,78C 'due':97C 'element':140C 'enabl':37B,146C 'enqueu':163C 'escap':104C 'excerpt':155C 'execut':121C 'exploit':129C 'fail':31B 'greenshift':1A,15B,22B,65C 'host':19B 'html':139C 'includ':29B,95C,136C 'inject':50B,113C,127C 'input':100C 'insuffici':99C 'latest':149C 'load':60B 'make':106C 'output':103C 'packag':16B 'page':63B,68C,118C,128C,134C 'paramet':8A,36B,88C 'plugin':3A,25B,71C 'possibl':108C 'post':133C 'process':166C 'requir':130C 'run':53B 'sanit':33B,101C 'script':45B,51B,84C,116C 'self':18B 'self-host':17B 'site':44B,83C 'split':143C 'splittext.js':160C 'store':4A,38B,77C 'text':144C 'unauthent':47B,110C 'user':124C 'version':91C 'via':6A,85C 'vulner':75C 'web':115C 'whenev':122C 'wordpress':2A,20B,23B,73C 'wrap':147C 'xss':5A","nicknames":[],"mitigations":[],"who_affected":"Sites running Greenshift 13.2.1 or earlier that have a page with an Advanced HTML Element block using Split Text animation around a Latest Comments block. Sites without that block configuration are not exploitable through this path, and sites not running the plugin are unaffected.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"first_public_at":"2026-10-29T10:17:02+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-107629","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-107629","severity":null,"published_at":"2026-10-29T10:17:02+00:00","modified_at":"2026-10-29T10:17:02+00:00","first_seen_at":"2026-10-29T10:24:25+00:00","fetched_at":"2026-10-29T10:24:25+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"}