{"id":"CVE-2026-103962","kind":"vulnerability","aliases":["CVE-2026-103962"],"related":[],"title":"WordPress User Frontend plugin: reflected XSS via field_attr parameter","description":"The User Frontend – Membership, User Registration, User Profile, User Directory & Content Restriction with Frontend Post Submission plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'field_attr[required]' 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 execute if they can successfully trick a user into performing an action such as clicking on a link. The nonce check on the wpuf_get_child_cat AJAX action is not an effective security barrier because the wpuf_nonce value is publicly localized to every anonymous visitor of any page containing a WPUF shortcode, making it freely harvestable by an unauthenticated attacker.","summary":"The User Frontend plugin for WordPress does not sanitize the 'field_attr[required]' parameter, so a crafted link can inject a script into a page. An attacker can run script in a visitor's browser after tricking them into clicking the link, and the nonce check does not stop it because the nonce is publicly exposed.","severity":"medium","cvss":6.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","wordpress","wp-user-frontend"],"not_affected_if":["plugin-not-installed"],"how_to_check":"- Check whether the User Frontend (WPUF) plugin is installed and its version, in the WordPress admin plugin list or `wp plugin get wp-user-frontend --field=version`\n- Confirm whether the installed version is `4.3.13` or older","fix":null,"status":"open","published_at":"2026-10-31T08:16:47+00:00","first_seen_at":"2026-10-31T08:34:28+00:00","triaged_at":"2026-10-31T08:35:14+00:00","updated_at":"2026-10-31T08:35:14+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-31T08:35:14Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"WordPress User Frontend plugin: reflected XSS via field_attr parameter","impact":"medium","summary":"The User Frontend plugin for WordPress does not sanitize the 'field_attr[required]' parameter, so a crafted link can inject a script into a page. An attacker can run script in a visitor's browser after tricking them into clicking the link, and the nonce check does not stop it because the nonce is publicly exposed.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","wp-user-frontend","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"script runs in a logged-in user's browser on the site","analyst_note":"Confirm the fixed version and vendor advisory at the NVD entry (https://nvd.nist.gov/vuln/detail/CVE-2026-103962) and check the WordPress plugin changelog.","how_to_check":"- Check whether the User Frontend (WPUF) plugin is installed and its version, in the WordPress admin plugin list or `wp plugin get wp-user-frontend --field=version`\n- Confirm whether the installed version is `4.3.13` or older","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed"],"who_is_affected":"Sites running the User Frontend (WPUF) plugin for WordPress at version 4.3.13 or older are exposed, since any page containing a WPUF shortcode exposes the nonce. Sites without the plugin, or running a newer version, are not affected by this description. The sources do not state a fixed version.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000734,"input_tokens":4297,"output_tokens":608,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-103962':13A,16A '-2026':12A,15A '4.3.13':122C 'action':157C,174C 'ajax':173C 'anonym':191C 'arbitrari':140C 'attack':52B,137C,207C 'attr':9A,37B,112C 'barrier':180C 'browser':60B 'cat':172C 'check':71B,166C 'child':171C 'click':65B,160C 'contain':196C 'content':92C 'craft':42B 'cross':106C 'cross-sit':105C 'cve':11A,14A 'directori':91C 'due':123C 'effect':178C 'escap':130C 'everi':190C 'execut':146C 'expos':81B 'field':8A,36B,111C 'freeli':202C 'frontend':3A,25B,28B,84C,95C 'get':170C 'harvest':203C 'host':20B 'includ':121C 'inject':45B,139C 'input':126C 'insuffici':125C 'link':43B,67B,163C 'local':188C 'make':132C,200C 'membership':85C 'nonc':70B,78B,165C,184C 'output':129C 'packag':17B 'page':50B,144C,195C 'paramet':10A,39B,114C 'perform':155C 'plugin':4A,29B,98C 'possibl':134C 'post':96C 'profil':89C 'public':80B,187C 'reflect':5A,104C 'registr':87C 'requir':38B,113C 'restrict':93C 'run':54B 'sanit':34B,127C 'script':47B,55B,108C,142C 'secur':179C 'self':19B 'self-host':18B 'shortcod':199C 'site':107C 'stop':74B 'submiss':97C 'success':150C 'trick':62B,151C 'unauthent':136C,206C 'user':2A,24B,27B,83C,86C,88C,90C,153C 'valu':185C 'version':117C 'via':7A,109C 'visitor':58B,192C 'vulner':102C 'web':141C 'wordpress':1A,21B,31B,100C 'wp':23B 'wp-user-frontend':22B 'wpuf':169C,183C,198C 'xss':6A","nicknames":[],"mitigations":[],"who_affected":"Sites running the User Frontend (WPUF) plugin for WordPress at version 4.3.13 or older are exposed, since any page containing a WPUF shortcode exposes the nonce. Sites without the plugin, or running a newer version, are not affected by this description. The sources do not state a fixed version.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"first_public_at":"2026-10-31T08:16:47+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/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-103962","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-103962","severity":null,"published_at":"2026-10-31T08:16:47+00:00","modified_at":"2026-10-31T08:16:47+00:00","first_seen_at":"2026-10-31T08:34:28+00:00","fetched_at":"2026-10-31T08:34:28+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"}