{"id":"CVE-2026-87111","kind":"vulnerability","aliases":["CVE-2026-87111"],"related":[],"title":"WordPress User Registration PRO plugin: unauthenticated stored XSS via Referer header","description":"The User Registration PRO – Custom Registration Form, Login Form, and User Profile WordPress Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting via HTTP Referer Header in all versions up to, and including, 6.2.9 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. This vulnerability is present only in the premium build of the plugin and is not present in the free WordPress.org distribution. The nonce required to call the vulnerable AJAX endpoint is localized into the page source of every front-end page for anonymous visitors, making it fully obtainable by unauthenticated attackers.","summary":"The premium build of the User Registration PRO WordPress plugin stores attacker-supplied HTTP Referer header content without escaping, so it renders later as script in pages. An unauthenticated attacker can plant JavaScript that runs in the browser of any user who views the injected page, including administrators.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","user-registration-pro","wordpress","wordpress-plugin"],"not_affected_if":["free-wordpress-org-build","plugin-not-installed"],"how_to_check":"- Check whether the premium (non-WordPress.org) User Registration PRO plugin is installed and its version, e.g. `wp plugin get user-registration --field=version` or the plugin's header in wp-content/plugins/\n- Confirm the installed version is `6.2.9` or lower\n- The free WordPress.org distribution is not affected according to the description","fix":"- Update User Registration PRO to a version above `6.2.9` as published by the vendor (fixed version number not stated in the sources)\n- Until patched, consider disabling the plugin or the affected AJAX form feature","status":"open","published_at":"2026-10-16T08:17:13+00:00","first_seen_at":"2026-10-23T21:57:12+00:00","triaged_at":"2026-10-25T03:29:37+00:00","updated_at":"2026-10-25T03:29:37+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T03:29:37Z","model":"claude-haiku-5-5","output":{"fix":"- Update User Registration PRO to a version above `6.2.9` as published by the vendor (fixed version number not stated in the sources)\n- Until patched, consider disabling the plugin or the affected AJAX form feature","reach":"internet","title":"WordPress User Registration PRO plugin: unauthenticated stored XSS via Referer header","impact":"medium","summary":"The premium build of the User Registration PRO WordPress plugin stores attacker-supplied HTTP Referer header content without escaping, so it renders later as script in pages. An unauthenticated attacker can plant JavaScript that runs in the browser of any user who views the injected page, including administrators.","category":"package","nicknames":[],"who_cares":["wordpress","wordpress-plugin","user-registration-pro","self-hosted"],"confidence":0.7,"needs_auth":"no","worst_case":"Attacker script runs in visitors' and administrators' browsers on the site","analyst_note":"Find the patched version number and vendor advisory; the NVD entry alone does not give a fixed release.","how_to_check":"- Check whether the premium (non-WordPress.org) User Registration PRO plugin is installed and its version, e.g. `wp plugin get user-registration --field=version` or the plugin's header in wp-content/plugins/\n- Confirm the installed version is `6.2.9` or lower\n- The free WordPress.org distribution is not affected according to the description","needs_analyst":true,"not_affected_if":["free-wordpress-org-build","plugin-not-installed"],"who_is_affected":"Sites running the premium build of User Registration PRO at version 6.2.9 or earlier. The free WordPress.org version is not affected, and the flaw is reachable by anyone because the nonce needed to call the vulnerable AJAX endpoint is exposed to anonymous visitors on every front-end page.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000683,"input_tokens":3474,"output_tokens":671,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-87111':14A,17A '6.2.9':115C 'access':144C 'administr':78B 'ajax':176C 'anonym':191C 'arbitrari':133C 'attack':42B,60B,130C,199C 'attacker-suppli':41B 'browser':68B 'build':32B,156C 'call':173C 'content':47B 'cross':101C 'cross-sit':100C 'custom':83C 'cve':12A,15A 'distribut':168C 'due':116C 'end':188C 'endpoint':177C 'escap':49B,123C 'everi':185C 'execut':140C 'form':85C,87C 'free':166C 'front':187C 'front-end':186C 'fulli':195C 'header':11A,46B,107C 'host':21B 'http':44B,105C 'includ':77B,114C 'inject':75B,132C,146C 'input':119C 'insuffici':118C 'javascript':63B 'later':53B 'local':179C 'login':86C 'make':125C,193C 'nonc':170C 'obtain':196C 'output':122C 'packag':18B 'page':57B,76B,137C,147C,182C,189C 'plant':62B 'plugin':5A,29B,39B,92C,93C,159C 'possibl':127C 'premium':31B,155C 'present':151C,163C 'pro':4A,25B,37B,82C 'profil':90C 'refer':10A,45B,106C 'registr':3A,24B,36B,81C,84C 'render':52B 'requir':171C 'run':65B 'sanit':120C 'script':55B,103C,135C 'self':20B 'self-host':19B 'site':102C 'sourc':183C 'store':7A,40B,99C 'suppli':43B 'unauthent':6A,59B,129C,198C 'user':2A,23B,35B,71B,80C,89C,143C 'user-registration-pro':22B 'version':110C 'via':9A,104C 'view':73B 'visitor':192C 'vulner':97C,149C,175C 'web':134C 'whenev':141C 'without':48B 'wordpress':1A,26B,28B,38B,91C,95C 'wordpress-plugin':27B 'wordpress.org':167C 'xss':8A","nicknames":[],"mitigations":[],"who_affected":"Sites running the premium build of User Registration PRO at version 6.2.9 or earlier. The free WordPress.org version is not affected, and the flaw is reachable by anyone because the nonce needed to call the vulnerable AJAX endpoint is exposed to anonymous visitors on every front-end page.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-16T08:17:13+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-87111","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-87111","severity":null,"published_at":"2026-10-16T08:17:13+00:00","modified_at":"2026-10-16T15:17:33+00:00","first_seen_at":"2026-10-23T21:57:12+00:00","fetched_at":"2026-10-23T22:28:55+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"}