{"id":"CVE-2026-12427","kind":"vulnerability","aliases":["CVE-2026-12427"],"related":[],"title":"ARforms WordPress plugin: stored XSS lets unauthenticated visitors run scripts","description":"The ARforms plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'description' parameter in all versions up to, and including, 7.2.4 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. The injected payload is deserialized via maybe_unserialize() when an administrator views the affected entry; if the attacker's array contains a 'referrer' key, the attacker-controlled page_url and http_referrer values are used as-is and rendered unescaped into the admin entry detail view.","summary":"The ARforms plugin for WordPress up to and including 7.2.4 does not sanitize the 'description' parameter, so an unauthenticated attacker can store script in pages. The script runs when a user opens an injected page, and when an administrator views the affected entry, the attacker-controlled referrer values are rendered unescaped in the admin view.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"ARforms","fixed":[],"affected":"","ecosystem":"vendor"}],"ecosystems":["vendor"],"tags":["arforms","package","php","wordpress"],"not_affected_if":["plugin-not-installed","plugin-updated-past-7.2.4"],"how_to_check":"- Check whether the ARforms plugin is installed and its version in the WordPress admin plugin list, or with `wp plugin get arforms` if WP-CLI is available.\n- Look for the plugin version `7.2.4` or earlier as the affected range.\n- Review existing ARforms entries for unexpected script content in the description field.","fix":"- ARforms plugin: move to a version later than `7.2.4` (the fixed version is not named in the sources).","status":"open","published_at":"2026-11-11T08:17:18+00:00","first_seen_at":"2026-11-11T08:26:05+00:00","triaged_at":"2026-11-11T08:27:51+00:00","updated_at":"2026-11-11T08:27:51+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-11T08:27:51Z","model":"claude-haiku-5-5","output":{"fix":"- ARforms plugin: move to a version later than `7.2.4` (the fixed version is not named in the sources).","reach":"internet","title":"ARforms WordPress plugin: stored XSS lets unauthenticated visitors run scripts","impact":"medium","summary":"The ARforms plugin for WordPress up to and including 7.2.4 does not sanitize the 'description' parameter, so an unauthenticated attacker can store script in pages. The script runs when a user opens an injected page, and when an administrator views the affected entry, the attacker-controlled referrer values are rendered unescaped in the admin view.","audience":"developers","category":"package","nicknames":[],"who_cares":["wordpress","arforms","php"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"script runs in administrator sessions, enabling account takeover on the site","analyst_note":"Confirm the fixed ARforms version from the WordPress plugin changelog or the NVD/Wordfence record for CVE-2026-12427.","how_to_check":"- Check whether the ARforms plugin is installed and its version in the WordPress admin plugin list, or with `wp plugin get arforms` if WP-CLI is available.\n- Look for the plugin version `7.2.4` or earlier as the affected range.\n- Review existing ARforms entries for unexpected script content in the description field.","plain_action":"","product_name":"ARforms","needs_analyst":true,"not_affected_if":["plugin-not-installed","plugin-updated-past-7.2.4"],"who_is_affected":"Sites running the ARforms WordPress plugin version 7.2.4 or earlier are exposed. Unauthenticated visitors can submit the payload, and the risk is highest for administrators who view the entries in the admin area. Sites without the plugin can skip it.","user_interaction":"yes","product_ecosystem":"vendor","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000808,"input_tokens":4675,"output_tokens":680,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-12427':13A,16A '-2026':12A,15A '7.2.4':31B,102C 'access':131C 'admin':76B,179C 'administr':60B,145C 'affect':63B,148C 'arbitrari':120C 'arform':1A,18B,23B,79C 'arforms':17A 'array':154C 'as-i':171C 'attack':41B,67B,117C,152C,161C 'attacker-control':66B,160C 'contain':155C 'control':68B,162C 'cross':88C 'cross-sit':87C 'cve':11A,14A 'descript':36B,93C 'deseri':139C 'detail':181C 'due':103C 'entri':64B,149C,180C 'escap':110C 'execut':127C 'http':166C 'includ':30B,101C 'inject':55B,119C,133C,136C 'input':106C 'insuffici':105C 'key':158C 'let':6A 'make':112C 'mayb':141C 'open':53B 'output':109C 'packag':19B 'page':46B,56B,124C,134C,163C 'paramet':37B,94C 'payload':137C 'php':20B 'plugin':3A,24B,80C 'possibl':114C 'referr':69B,157C,167C 'render':72B,175C 'run':9A,49B 'sanit':34B,107C 'script':10A,44B,48B,90C,122C 'site':89C 'store':4A,43B,86C 'unauthent':7A,40B,116C 'unescap':73B,176C 'unseri':142C 'url':164C 'use':170C 'user':52B,130C 'valu':70B,168C 'version':97C 'via':91C,140C 'view':61B,77B,146C,182C 'visitor':8A 'vulner':84C 'web':121C 'whenev':128C 'wordpress':2A,21B,26B,82C 'xss':5A","nicknames":[],"mitigations":[],"who_affected":"Sites running the ARforms WordPress plugin version 7.2.4 or earlier are exposed. Unauthenticated visitors can submit the payload, and the risk is highest for administrators who view the entries in the admin area. Sites without the plugin can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"developers","plain_action":null,"pkeys":["arforms"],"ptokens":["arforms"],"labels":["arforms","high","package","php","vendor","wordpress"],"campaign_type":null,"search_a":"'-12427':13A,16A '-2026':12A,15A 'arform':1A 'arforms':17A 'cve':11A,14A 'let':6A 'plugin':3A 'run':9A 'script':10A 'store':4A 'unauthent':7A 'visitor':8A 'wordpress':2A 'xss':5A","search_b":"'7.2.4':31B 'admin':76B 'administr':60B 'affect':63B 'arform':18B,23B 'attack':41B,67B 'attacker-control':66B 'control':68B 'descript':36B 'entri':64B 'includ':30B 'inject':55B 'open':53B 'packag':19B 'page':46B,56B 'paramet':37B 'php':20B 'plugin':24B 'referr':69B 'render':72B 'run':49B 'sanit':34B 'script':44B,48B 'store':43B 'unauthent':40B 'unescap':73B 'user':52B 'valu':70B 'view':61B,77B 'wordpress':21B,26B","search_c":"'7.2.4':102C 'access':131C 'admin':179C 'administr':145C 'affect':148C 'arbitrari':120C 'arform':79C 'array':154C 'as-i':171C 'attack':117C,152C,161C 'attacker-control':160C 'contain':155C 'control':162C 'cross':88C 'cross-sit':87C 'descript':93C 'deseri':139C 'detail':181C 'due':103C 'entri':149C,180C 'escap':110C 'execut':127C 'http':166C 'includ':101C 'inject':119C,133C,136C 'input':106C 'insuffici':105C 'key':158C 'make':112C 'mayb':141C 'output':109C 'page':124C,134C,163C 'paramet':94C 'payload':137C 'plugin':80C 'possibl':114C 'referr':157C,167C 'render':175C 'sanit':107C 'script':90C,122C 'site':89C 'store':86C 'unauthent':116C 'unescap':176C 'unseri':142C 'url':164C 'use':170C 'user':130C 'valu':168C 'version':97C 'via':91C,140C 'view':146C,182C 'vulner':84C 'web':121C 'whenev':128C 'wordpress':82C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-11T08:17:18+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-12427","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-12427","severity":null,"published_at":"2026-11-11T08:17:18+00:00","modified_at":"2026-11-11T08:17:18+00:00","first_seen_at":"2026-11-11T08:26:05+00:00","fetched_at":"2026-11-11T08:26:05+00:00","note":null}],"documents":[],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}