{"id":"CVE-2026-119183","kind":"vulnerability","aliases":["CVE-2026-119183"],"related":[],"title":"WordPress JetFormBuilder plugin: unauthenticated stored XSS via form post meta","description":"The JetFormBuilder — Dynamic Blocks Form Builder plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the '<form field mapped to a post meta key, e.g. lst_cost>' 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. Exploitation requires the target site to have configured a public Insert Post form writing to a post meta key and a Calculated Field whose formula references that key via the %META::key% macro, after which a single unauthenticated POST is sufficient to persist the payload.","summary":"The JetFormBuilder WordPress form plugin does not sanitize a form field mapped to a post meta key, so an unauthenticated visitor can save script code that runs in pages. A visitor who opens an affected page runs the attacker's script in their browser session.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["jetformbuilder","package","self-hosted","wordpress"],"not_affected_if":["default-config","no-public-insert-post-form","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- Look for a public Insert Post form that writes to a post meta key, combined with a Calculated Field using the %META::key% macro.","fix":"- JetFormBuilder: unknown (the sources do not state a fixed version).","status":"open","published_at":"2026-11-07T12:17:44+00:00","first_seen_at":"2026-11-07T12:47:08+00:00","triaged_at":"2026-11-07T12:48:49+00:00","updated_at":"2026-11-07T12:48:49+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-07T12:48:49Z","model":"claude-haiku-5-5","output":{"fix":"- JetFormBuilder: unknown (the sources do not state a fixed version).","reach":"internet","title":"WordPress JetFormBuilder plugin: unauthenticated stored XSS via form post meta","impact":"medium","summary":"The JetFormBuilder WordPress form plugin does not sanitize a form field mapped to a post meta key, so an unauthenticated visitor can save script code that runs in pages. A visitor who opens an affected page runs the attacker's script in their browser session.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","jetformbuilder","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"attacker script runs in visitors' browsers on injected pages","analyst_note":"Confirm the fixed version of JetFormBuilder after 3.6.8 from the WordPress plugin page or NVD entry at https://nvd.nist.gov/vuln/detail/CVE-2026-119183.","how_to_check":"- Check the installed JetFormBuilder plugin version in the WordPress admin under Plugins; affected versions are `3.6.8` and below.\n- Look for a public Insert Post form that writes to a post meta key, combined with a Calculated Field using the %META::key% macro.","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","no-public-insert-post-form","default-config"],"who_is_affected":"Sites running the JetFormBuilder plugin up to and including `3.6.8` that have a public Insert Post form writing to a post meta key and a Calculated Field referencing that key with %META::key%. Sites without that form configuration, or without the plugin, are not exposed.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000756,"input_tokens":4383,"output_tokens":636,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-119183':13A,16A '-2026':12A,15A '3.6.8':106C 'access':135C 'affect':57B 'arbitrari':124C 'attack':61B,121C 'block':71C 'browser':66B 'builder':73C 'calcul':160C 'code':47B 'configur':146C 'cost':97C 'cross':82C 'cross-sit':81C 'cve':11A,14A 'due':107C 'dynam':70C 'e.g':95C 'escap':114C 'execut':131C 'exploit':139C 'field':33B,88C,161C 'form':8A,26B,32B,72C,87C,151C 'formula':163C 'host':21B 'includ':105C 'inject':123C,137C 'input':110C 'insert':149C 'insuffici':109C 'jetformbuild':2A,17B,24B,69C 'key':39B,94C,157C,166C,170C 'lst':96C 'macro':171C 'make':116C 'map':34B,89C 'meta':10A,38B,93C,156C,169C 'open':55B 'output':113C 'packag':18B 'page':51B,58B,128C,138C 'paramet':98C 'payload':183C 'persist':181C 'plugin':3A,27B,74C 'possibl':118C 'post':9A,37B,92C,150C,155C,177C 'public':148C 'refer':164C 'requir':140C 'run':49B,59B 'sanit':30B,111C 'save':45B 'script':46B,63B,84C,126C 'self':20B 'self-host':19B 'session':67B 'singl':175C 'site':83C,143C 'store':5A,80C 'suffici':179C 'target':142C 'unauthent':4A,42B,120C,176C 'user':134C 'version':101C 'via':7A,85C,167C 'visitor':43B,53B 'vulner':78C 'web':125C 'whenev':132C 'whose':162C 'wordpress':1A,22B,25B,76C 'write':152C 'xss':6A","nicknames":[],"mitigations":[],"who_affected":"Sites running the JetFormBuilder plugin up to and including `3.6.8` that have a public Insert Post form writing to a post meta key and a Calculated Field referencing that key with %META::key%. Sites without that form configuration, or without the plugin, are not exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["high","jetformbuilder","package","selfhosted","wordpress"],"campaign_type":null,"search_a":"'-119183':13A,16A '-2026':12A,15A 'cve':11A,14A 'form':8A 'jetformbuild':2A 'meta':10A 'plugin':3A 'post':9A 'store':5A 'unauthent':4A 'via':7A 'wordpress':1A 'xss':6A","search_b":"'affect':57B 'attack':61B 'browser':66B 'code':47B 'field':33B 'form':26B,32B 'host':21B 'jetformbuild':17B,24B 'key':39B 'map':34B 'meta':38B 'open':55B 'packag':18B 'page':51B,58B 'plugin':27B 'post':37B 'run':49B,59B 'sanit':30B 'save':45B 'script':46B,63B 'self':20B 'self-host':19B 'session':67B 'unauthent':42B 'visitor':43B,53B 'wordpress':22B,25B","search_c":"'3.6.8':106C 'access':135C 'arbitrari':124C 'attack':121C 'block':71C 'builder':73C 'calcul':160C 'configur':146C 'cost':97C 'cross':82C 'cross-sit':81C 'due':107C 'dynam':70C 'e.g':95C 'escap':114C 'execut':131C 'exploit':139C 'field':88C,161C 'form':72C,87C,151C 'formula':163C 'includ':105C 'inject':123C,137C 'input':110C 'insert':149C 'insuffici':109C 'jetformbuild':69C 'key':94C,157C,166C,170C 'lst':96C 'macro':171C 'make':116C 'map':89C 'meta':93C,156C,169C 'output':113C 'page':128C,138C 'paramet':98C 'payload':183C 'persist':181C 'plugin':74C 'possibl':118C 'post':92C,150C,155C,177C 'public':148C 'refer':164C 'requir':140C 'sanit':111C 'script':84C,126C 'singl':175C 'site':83C,143C 'store':80C 'suffici':179C 'target':142C 'unauthent':120C,176C 'user':134C 'version':101C 'via':85C,167C 'vulner':78C 'web':125C 'whenev':132C 'whose':162C 'wordpress':76C 'write':152C","first_public_at":"2026-11-07T12:17:44+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-119183","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-119183","severity":null,"published_at":"2026-11-07T12:17:44+00:00","modified_at":"2026-11-07T12:17:44+00:00","first_seen_at":"2026-11-07T12:47:08+00:00","fetched_at":"2026-11-07T12:47:08+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"}