{"id":"CVE-2026-120533","kind":"vulnerability","aliases":["CVE-2026-120533"],"related":[],"title":"Redux Framework WordPress plugin: stored XSS via user profile theme options","description":"The Redux Framework plugin for WordPress is vulnerable to Stored Cross-Site Scripting via theme_opts Parameter via User Profile in all versions up to, and including, 4.5.16 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Successful exploitation requires the host theme to have registered a Redux field of a CSS-emitting type (such as link_color, border, or typography) with an output CSS selector, as only the field types 'spinner', 'slider', 'color', and 'date' receive per-type value validation that would block the entity-encoded payload.","summary":"The Redux Framework plugin for WordPress up to and including 4.5.16 fails to sanitize the theme_opts parameter submitted through the user profile. A logged-in subscriber can store scripts that run in the browser of anyone who opens an affected page.","severity":"medium","cvss":6.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","redux-framework","self-hosted","theme-developers","wordpress"],"not_affected_if":["no-css-emitting-redux-fields","no-open-user-registration","plugin-newer-than-4.5.16"],"how_to_check":"- Check the installed Redux Framework version in the WordPress admin plugins list or with `wp plugin get redux-framework --field=version`\n- Check whether the active theme registers Redux fields of types such as link_color, border or typography with an output CSS selector, as the sources say this is required for exploitation","fix":"- Redux Framework: a fixed version later than `4.5.16` is implied but not named in the sources; unknown","status":"open","published_at":"2026-11-05T05:18:20+00:00","first_seen_at":"2026-11-05T05:31:54+00:00","triaged_at":"2026-11-05T05:33:43+00:00","updated_at":"2026-11-05T05:33:43+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-05T05:33:43Z","model":"claude-haiku-5-5","output":{"fix":"- Redux Framework: a fixed version later than `4.5.16` is implied but not named in the sources; unknown","reach":"internet","title":"Redux Framework WordPress plugin: stored XSS via user profile theme options","impact":"medium","summary":"The Redux Framework plugin for WordPress up to and including 4.5.16 fails to sanitize the theme_opts parameter submitted through the user profile. A logged-in subscriber can store scripts that run in the browser of anyone who opens an affected page.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","redux-framework","theme-developers","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"yes","worst_case":"Scripts run in visitors' browsers, including administrators, enabling session theft.","analyst_note":"Confirm the fixed Redux Framework version from the NVD entry or the WordPress plugin changelog, since the sources do not name one.","how_to_check":"- Check the installed Redux Framework version in the WordPress admin plugins list or with `wp plugin get redux-framework --field=version`\n- Check whether the active theme registers Redux fields of types such as link_color, border or typography with an output CSS selector, as the sources say this is required for exploitation\n- unknown whether a specific file or setting identifies the vulnerable path","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-newer-than-4.5.16","no-css-emitting-redux-fields","no-open-user-registration"],"who_is_affected":"Sites running the Redux Framework plugin at version 4.5.16 or earlier whose active theme registers a CSS-emitting Redux field with an output selector. Exploitation needs a subscriber-level account, so sites without user registration are less exposed. Sites on newer plugin versions or themes without such fields can skip it.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.00078,"input_tokens":4377,"output_tokens":685,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-120533':14A,17A '-2026':13A,16A '4.5.16':39B,100C 'access':120C,136C 'affect':70B 'anyon':66B 'arbitrari':125C 'attack':115C 'authent':114C 'block':188C 'border':162C 'browser':64B 'color':161C,177C 'cross':83C 'cross-sit':82C 'css':155C,168C 'css-emit':154C 'cve':12A,15A 'date':179C 'develop':27B 'due':101C 'emit':156C 'encod':192C 'entiti':191C 'entity-encod':190C 'escap':108C 'execut':132C 'exploit':141C 'fail':40B 'field':151C,173C 'framework':2A,21B,31B,74C 'host':24B,144C 'includ':38B,99C 'inject':124C,138C 'input':104C 'insuffici':103C 'level':119C 'link':160C 'log':54B 'logged-in':53B 'make':110C 'open':68B 'opt':45B,88C 'option':11A 'output':107C,167C 'packag':18B 'page':71B,129C,139C 'paramet':46B,89C 'payload':193C 'per':182C 'per-typ':181C 'plugin':4A,32B,75C 'possibl':112C 'profil':9A,51B,92C 'receiv':180C 'redux':1A,20B,30B,73C,150C 'redux-framework':19B 'regist':148C 'requir':142C 'run':61B 'sanit':42B,105C 'script':59B,85C,127C 'selector':169C 'self':23B 'self-host':22B 'site':84C 'slider':176C 'spinner':175C 'store':5A,58B,81C 'submit':47B 'subscrib':56B,118C 'subscriber-level':117C 'success':140C 'theme':10A,26B,44B,87C,145C 'theme-develop':25B 'type':157C,174C,183C 'typographi':164C 'user':8A,50B,91C,135C 'valid':185C 'valu':184C 'version':95C 'via':7A,86C,90C 'vulner':79C 'web':126C 'whenev':133C 'wordpress':3A,28B,34B,77C 'would':187C 'xss':6A","nicknames":[],"mitigations":[],"who_affected":"Sites running the Redux Framework plugin at version 4.5.16 or earlier whose active theme registers a CSS-emitting Redux field with an output selector. Exploitation needs a subscriber-level account, so sites without user registration are less exposed. Sites on newer plugin versions or themes without such fields can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["medium","package","reduxframework","selfhosted","themedevelopers","wordpress"],"campaign_type":null,"first_public_at":"2026-11-05T05:18:20+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-120533","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120533","severity":null,"published_at":"2026-11-05T05:18:20+00:00","modified_at":"2026-11-05T05:18:20+00:00","first_seen_at":"2026-11-05T05:31:54+00:00","fetched_at":"2026-11-05T05:31:54+00:00","note":null}],"documents":[],"exploit_sources":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}