{"id":"CVE-2026-121977","kind":"vulnerability","aliases":["CVE-2026-121977"],"related":[],"title":"JetFormBuilder WordPress plugin: stored XSS via form note field","description":"The JetFormBuilder — Dynamic Blocks Form Builder plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'note (form field whose value is written to post meta `note`)' parameter in all versions up to, and including, 3.6.8 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. Successful exploitation requires a privileged user with the edit_others_posts capability to visit a form URL containing the attacker-created post ID, a delivery step the attacker controls via a crafted phishing link.","summary":"The JetFormBuilder WordPress plugin stores unsanitized form input in a post meta field called note, and renders it without escaping. An unauthenticated attacker can inject scripts that run in the browser of an editor or administrator who opens the affected page.","severity":"medium","cvss":5.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["jetformbuilder","package","self-hosted","wordpress"],"not_affected_if":["plugin-above-3.6.8","plugin-not-installed"],"how_to_check":"- Check the installed JetFormBuilder plugin version in the WordPress admin under Plugins; affected versions are `3.6.8` and below.\n- Confirm whether any form uses the note field (form field whose value is written to post meta `note`).","fix":"- JetFormBuilder: unknown (the sources do not state a fixed version).","status":"open","published_at":"2026-11-07T12:17:45+00:00","first_seen_at":"2026-11-07T12:47:09+00:00","triaged_at":"2026-11-07T12:49:06+00:00","updated_at":"2026-11-07T12:49:06+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-07T12:49:06Z","model":"claude-haiku-5-5","output":{"fix":"- JetFormBuilder: unknown (the sources do not state a fixed version).","reach":"internet","title":"JetFormBuilder WordPress plugin: stored XSS via form note field","impact":"medium","summary":"The JetFormBuilder WordPress plugin stores unsanitized form input in a post meta field called note, and renders it without escaping. An unauthenticated attacker can inject scripts that run in the browser of an editor or administrator who opens the affected page.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","jetformbuilder","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"Scripts run in an editor's browser, enabling account takeover on the site","analyst_note":"Confirm the fixed version of JetFormBuilder from the plugin changelog or the NVD/Wordfence entry for CVE-2026-121977.","how_to_check":"- Check the installed JetFormBuilder plugin version in the WordPress admin under Plugins; affected versions are `3.6.8` and below.\n- Confirm whether any form uses the note field (form field whose value is written to post meta `note`).","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","plugin-above-3.6.8"],"who_is_affected":"Sites running the JetFormBuilder plugin version 3.6.8 or earlier with forms that write to the note post meta field. Exploitation needs a privileged user with edit_others_posts to open a crafted form URL, so sites without such users or without this plugin can skip it.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000734,"input_tokens":4365,"output_tokens":595,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-121977':12A,15A '-2026':11A,14A '3.6.8':101C 'access':130C 'administr':57B 'affect':61B 'arbitrari':119C 'attack':44B,116C,154C,162C 'attacker-cr':153C 'block':66C 'browser':52B 'builder':68C 'call':35B 'capabl':145C 'contain':151C 'control':163C 'craft':166C 'creat':155C 'cross':77C 'cross-sit':76C 'cve':10A,13A 'deliveri':159C 'due':102C 'dynam':65C 'edit':142C 'editor':55B 'escap':41B,109C 'execut':126C 'exploit':135C 'field':9A,34B,84C 'form':7A,28B,67C,83C,149C 'host':20B 'id':157C 'includ':100C 'inject':46B,118C,132C 'input':29B,105C 'insuffici':104C 'jetformbuild':1A,16B,23B,64C 'link':168C 'make':111C 'meta':33B,91C 'note':8A,36B,82C,92C 'open':59B 'other':143C 'output':108C 'packag':17B 'page':62B,123C,133C 'paramet':93C 'phish':167C 'plugin':3A,25B,69C 'possibl':113C 'post':32B,90C,144C,156C 'privileg':138C 'render':38B 'requir':136C 'run':49B 'sanit':106C 'script':47B,79C,121C 'self':19B 'self-host':18B 'site':78C 'step':160C 'store':4A,26B,75C 'success':134C 'unauthent':43B,115C 'unsanit':27B 'url':150C 'user':129C,139C 'valu':86C 'version':96C 'via':6A,80C,164C 'visit':147C 'vulner':73C 'web':120C 'whenev':127C 'whose':85C 'without':40B 'wordpress':2A,21B,24B,71C 'written':88C 'xss':5A","nicknames":[],"mitigations":[],"who_affected":"Sites running the JetFormBuilder plugin version 3.6.8 or earlier with forms that write to the note post meta field. Exploitation needs a privileged user with edit_others_posts to open a crafted form URL, so sites without such users or without this plugin can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["jetformbuilder","medium","package","selfhosted","wordpress"],"campaign_type":null,"search_a":"'-121977':12A,15A '-2026':11A,14A 'cve':10A,13A 'field':9A 'form':7A 'jetformbuild':1A 'note':8A 'plugin':3A 'store':4A 'via':6A 'wordpress':2A 'xss':5A","search_b":"'administr':57B 'affect':61B 'attack':44B 'browser':52B 'call':35B 'editor':55B 'escap':41B 'field':34B 'form':28B 'host':20B 'inject':46B 'input':29B 'jetformbuild':16B,23B 'meta':33B 'note':36B 'open':59B 'packag':17B 'page':62B 'plugin':25B 'post':32B 'render':38B 'run':49B 'script':47B 'self':19B 'self-host':18B 'store':26B 'unauthent':43B 'unsanit':27B 'without':40B 'wordpress':21B,24B","search_c":"'3.6.8':101C 'access':130C 'arbitrari':119C 'attack':116C,154C,162C 'attacker-cr':153C 'block':66C 'builder':68C 'capabl':145C 'contain':151C 'control':163C 'craft':166C 'creat':155C 'cross':77C 'cross-sit':76C 'deliveri':159C 'due':102C 'dynam':65C 'edit':142C 'escap':109C 'execut':126C 'exploit':135C 'field':84C 'form':67C,83C,149C 'id':157C 'includ':100C 'inject':118C,132C 'input':105C 'insuffici':104C 'jetformbuild':64C 'link':168C 'make':111C 'meta':91C 'note':82C,92C 'other':143C 'output':108C 'page':123C,133C 'paramet':93C 'phish':167C 'plugin':69C 'possibl':113C 'post':90C,144C,156C 'privileg':138C 'requir':136C 'sanit':106C 'script':79C,121C 'site':78C 'step':160C 'store':75C 'success':134C 'unauthent':115C 'url':150C 'user':129C,139C 'valu':86C 'version':96C 'via':80C,164C 'visit':147C 'vulner':73C 'web':120C 'whenev':127C 'whose':85C 'wordpress':71C 'written':88C","first_public_at":"2026-11-07T12:17:45+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/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-121977","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121977","severity":null,"published_at":"2026-11-07T12:17:45+00:00","modified_at":"2026-11-07T12:17:45+00:00","first_seen_at":"2026-11-07T12:47:09+00:00","fetched_at":"2026-11-07T12:47:09+00:00","note":null}],"documents":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}