{"id":"CVE-2026-109214","kind":"vulnerability","aliases":["CVE-2026-109214"],"related":[],"title":"WordPress User Frontend plugin: unauthenticated stored script injection via taxonomy field","description":"The User Frontend – Membership, User Registration, User Profile, User Directory & Content Restriction with Frontend Post Submission plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the '<taxonomy_field_name> (default: 'category')' parameter in all versions up to, and including, 4.3.13 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 target installation to have configured a Taxonomy field in text-input mode with guest post submission enabled on at least one frontend form.","summary":"The User Frontend WordPress plugin up to and including 4.3.13 does not sanitize a taxonomy field parameter, so attackers can store scripts that run in visitors' browsers. An unauthenticated attacker can inject script into pages that execute whenever a user opens the affected page.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"wp-user-frontend","fixed":["4.3.14"],"affected":"<= 4.3.13","ecosystem":"wordpress"}],"ecosystems":[],"tags":["package","self-hosted","user-frontend","wordpress"],"not_affected_if":["default-config","guest-posting-disabled","no-text-taxonomy-field"],"how_to_check":"- In WordPress admin > Plugins, check the User Frontend version; 4.3.13 or lower is affected, 4.3.14 is fixed.\n- Check whether any frontend form has a Taxonomy field in text-input mode and guest post submission enabled; without both, the reported exploit conditions are not met.\n- Also review existing guest submissions and category/taxonomy names for script tags, and be careful opening forms in the builder as an admin until updated.","fix":"Update the User Frontend plugin (wp-user-frontend) to 4.3.14 or later (released 28 Oct 2026).","status":"open","published_at":"2026-11-07T12:17:41+00:00","first_seen_at":"2026-11-07T12:47:08+00:00","triaged_at":"2026-11-07T12:48:57+00:00","updated_at":"2026-11-07T12:53:31+00:00","category":"package","confidence":0.85,"triage":{"at":"2026-11-07T12:48:57Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"WordPress User Frontend plugin: unauthenticated stored script injection via taxonomy field","impact":"medium","summary":"The User Frontend WordPress plugin up to and including 4.3.13 does not sanitize a taxonomy field parameter, so attackers can store scripts that run in visitors' browsers. An unauthenticated attacker can inject script into pages that execute whenever a user opens the affected page.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","user-frontend","self-hosted"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker script runs in visitors' browsers on the site","analyst_note":"Confirm the fixed version from the NVD entry or the plugin vendor's changelog; the sources give none.","how_to_check":"- Check the installed plugin version in the WordPress admin plugin list or the plugin's main file header; versions up to and including `4.3.13` are affected.\n- Check whether a Taxonomy field is configured in text-input mode and whether guest post submission is enabled on any frontend form.","plain_action":"","needs_analyst":true,"not_affected_if":["default-config","guest-posting-disabled","no-text-taxonomy-field"],"who_is_affected":"Sites running the User Frontend plugin up to and including 4.3.13 that have a Taxonomy field in text-input mode and guest post submission enabled on at least one frontend form. Sites without that configuration, or without the plugin, can skip it.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000724,"input_tokens":4349,"output_tokens":578,"severity_before":"high"},"analyst_status":"done","analyst_note":"Confirm the fixed version from the NVD entry or the plugin vendor's changelog; the sources give none.","search":"'-109214':14A,17A '-2026':13A,16A '4.3.13':39B,113C 'access':142C 'affect':72B 'arbitrari':131C 'attack':48B,59B,128C 'browser':56B 'categori':104C 'configur':153C 'content':84C 'cross':98C 'cross-sit':97C 'cve':12A,15A 'default':103C 'directori':83C 'due':114C 'enabl':166C 'escap':121C 'execut':66B,138C 'exploit':146C 'field':11A,45B,156C 'form':172C 'frontend':3A,21A,28B,32B,76C,87C,171C 'guest':163C 'host':25B 'includ':38B,112C 'inject':8A,61B,130C,144C 'input':117C,160C 'instal':150C 'insuffici':116C 'least':169C 'make':123C 'membership':77C 'mode':161C 'one':170C 'open':70B 'output':120C 'packag':22B 'page':64B,73B,135C,145C 'paramet':46B,105C 'plugin':4A,34B,90C 'possibl':125C 'post':88C,164C 'profil':81C 'registr':79C 'requir':147C 'restrict':85C 'run':53B 'sanit':42B,118C 'script':7A,51B,62B,100C,133C 'self':24B 'self-host':23B 'site':99C 'store':6A,50B,96C 'submiss':89C,165C 'target':149C 'taxonomi':10A,44B,155C 'text':159C 'text-input':158C 'unauthent':5A,58B,127C 'user':2A,20A,27B,31B,69B,75C,78C,80C,82C,141C 'user-frontend':26B 'version':108C 'via':9A,101C 'visitor':55B 'vulner':94C 'web':132C 'whenev':67B,139C 'wordpress':1A,29B,33B,92C 'wp':19A 'wp-user-frontend':18A","nicknames":[],"mitigations":[],"who_affected":"Self-hosted WordPress sites running the User Frontend plugin up to and including 4.3.13 that have a Taxonomy field in text-input mode and guest post submission on at least one frontend form. The vendor changelog says the script ran when an administrator later opened the form in the builder. Sites without that setup, or on 4.3.14 or later, can skip it.","tier":"B","verified":{"fix":{"at":"2026-11-07T12:53:31Z","by":"analyst","doc":"https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/wp-user-frontend/user-frontend-4313-unauthenticated-stored-cross-site-scripting-via-taxonomy-field-text-input","run_id":2120}},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["wpuserfrontend"],"ptokens":["frontend","user","wp"],"labels":["high","package","selfhosted","userfrontend","wordpress"],"campaign_type":null,"search_a":"'-109214':14A,17A '-2026':13A,16A 'cve':12A,15A 'field':11A 'frontend':3A,21A 'inject':8A 'plugin':4A 'script':7A 'store':6A 'taxonomi':10A 'unauthent':5A 'user':2A,20A 'via':9A 'wordpress':1A 'wp':19A 'wp-user-frontend':18A","search_b":"'4.3.13':39B 'affect':72B 'attack':48B,59B 'browser':56B 'execut':66B 'field':45B 'frontend':28B,32B 'host':25B 'includ':38B 'inject':61B 'open':70B 'packag':22B 'page':64B,73B 'paramet':46B 'plugin':34B 'run':53B 'sanit':42B 'script':51B,62B 'self':24B 'self-host':23B 'store':50B 'taxonomi':44B 'unauthent':58B 'user':27B,31B,69B 'user-frontend':26B 'visitor':55B 'whenev':67B 'wordpress':29B,33B","search_c":"'4.3.13':113C 'access':142C 'arbitrari':131C 'attack':128C 'categori':104C 'configur':153C 'content':84C 'cross':98C 'cross-sit':97C 'default':103C 'directori':83C 'due':114C 'enabl':166C 'escap':121C 'execut':138C 'exploit':146C 'field':156C 'form':172C 'frontend':76C,87C,171C 'guest':163C 'includ':112C 'inject':130C,144C 'input':117C,160C 'instal':150C 'insuffici':116C 'least':169C 'make':123C 'membership':77C 'mode':161C 'one':170C 'output':120C 'page':135C,145C 'paramet':105C 'plugin':90C 'possibl':125C 'post':88C,164C 'profil':81C 'registr':79C 'requir':147C 'restrict':85C 'sanit':118C 'script':100C,133C 'site':99C 'store':96C 'submiss':89C,165C 'target':149C 'taxonomi':155C 'text':159C 'text-input':158C 'unauthent':127C 'user':75C,78C,80C,82C,141C 'version':108C 'via':101C 'vulner':94C 'web':132C 'whenev':139C 'wordpress':92C","first_public_at":"2026-11-07T12:17:41+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/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-109214","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-109214","severity":null,"published_at":"2026-11-07T12:17:41+00:00","modified_at":"2026-11-07T12:17:42+00:00","first_seen_at":"2026-11-07T12:47:08+00:00","fetched_at":"2026-11-07T12:47:08+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-109214:2120","url":"https://github.com/weDevsOfficial/wp-user-frontend/releases","severity":null,"published_at":"2026-11-07T12:53:31+00:00","modified_at":"2026-11-07T12:53:31+00:00","first_seen_at":"2026-11-07T12:53:31+00:00","fetched_at":"2026-11-07T12:53:31+00:00","note":"Fixed in 4.3.14 per vendor GitHub release changelog (names CVE-2026-109214). Affected range and conditions from Wordfence, not verified. No exploitation or PoC seen. Vendor says admin opening form in builder triggers script; NVD says visitors.","cites":["https://github.com/weDevsOfficial/wp-user-frontend/releases","https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/wp-user-frontend/user-frontend-4313-unauthenticated-stored-cross-site-scripting-via-taxonomy-field-text-input"]}],"documents":[{"id":95571,"url":"https://github.com/weDevsOfficial/wp-user-frontend/releases","title":"wp-user-frontend releases (v4.3.14 changelog)","kind":"release","source":"analyst","publisher":null,"text":"= 4.3.14 (28 October, 2026) = Security – Fixed an issue where a guest could submit a category name that ran a script when an administrator later opened that form in the builder (reported by Wordfence, CVE-2026-109214). Also fixes CVE-2026-103962 (category field, crafted link).","published_at":null,"relation":"fix","confidence":null,"note":null},{"id":95572,"url":"https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/wp-user-frontend/user-frontend-4313-unauthenticated-stored-cross-site-scripting-via-taxonomy-field-text-input","title":"Wordfence: User Frontend <= 4.3.13 Unauthenticated Stored XSS via Taxonomy Field Text-Input","kind":"advisory","source":"analyst","publisher":null,"text":"CVE-2026-109214, CVSS 7.2. All versions up to and including 4.3.13. Requires a Taxonomy field in text-input mode with guest post submission enabled on at least one frontend form. Published Nov 6, 2026.","published_at":null,"relation":"advisory","confidence":null,"note":null}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}