{"id":"CVE-2026-124695","kind":"vulnerability","aliases":["CVE-2026-124695"],"related":[],"title":"Kendo UI for jQuery Form: hint text runs attacker markup as JavaScript","description":"In Progress Kendo UI for jQuery Form, the items[].hint option is documented as a string but is rendered as HTML. An attacker who can influence a Form item's hint can cause attacker-controlled markup to execute as JavaScript when a user views the rendered form. Successful exploitation may compromise the confidentiality and integrity of data available in the user's browser context. The first affected version is 2020.2.513; the latest vulnerable version is 2026.3.1015. The issue is fixed in version 2026.4.1111.","summary":"The Kendo UI for jQuery Form widget renders each item's hint option as HTML even though it is documented as plain text. An attacker who can set a form item's hint can make script run in the browser of anyone who views the form, exposing data in that browser session.","severity":"high","cvss":7.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["frontend","javascript","jquery","kendo-ui","package"],"not_affected_if":["hardcoded-hints","no-form-widget","not-kendo-jquery"],"how_to_check":"- Check the installed Kendo UI for jQuery version in the project's `package.json` or lockfile; versions from `2020.2.513` through `2026.3.1015` are affected.\n- Search the code for `items[].hint` or the Form widget's `items` configuration, and check whether any hint value comes from user input or a database.","fix":"- Kendo UI for jQuery: upgrade to `2026.4.1111`.","status":"open","published_at":"2026-11-12T17:17:30+00:00","first_seen_at":"2026-11-12T17:39:37+00:00","triaged_at":"2026-11-12T17:39:57+00:00","updated_at":"2026-11-12T17:39:57+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-12T17:39:57Z","model":"claude-haiku-5-5","output":{"fix":"- Kendo UI for jQuery: upgrade to `2026.4.1111`.","reach":"internet","title":"Kendo UI for jQuery Form: hint text runs attacker markup as JavaScript","impact":"medium","summary":"The Kendo UI for jQuery Form widget renders each item's hint option as HTML even though it is documented as plain text. An attacker who can set a form item's hint can make script run in the browser of anyone who views the form, exposing data in that browser session.","audience":"developers","category":"package","nicknames":[],"who_cares":["kendo-ui","jquery","javascript","frontend"],"confidence":0.6,"fix_status":"available","needs_auth":"unknown","worst_case":"Attacker script runs in the viewer's browser and reads or alters that session's data","analyst_note":"","how_to_check":"- Check the installed Kendo UI for jQuery version in the project's `package.json` or lockfile; versions from `2020.2.513` through `2026.3.1015` are affected.\n- Search the code for `items[].hint` or the Form widget's `items` configuration, and check whether any hint value comes from user input or a database.","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["hardcoded-hints","no-form-widget","not-kendo-jquery"],"who_is_affected":"Applications that use the Kendo UI for jQuery Form widget and put text into a form item's hint from anything an outside user can influence, such as stored profile data, admin-entered labels or query parameters. Applications that hard-code all hint text, or do not use the Form widget, are not exposed.","user_interaction":"yes","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000763,"input_tokens":4625,"output_tokens":601,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-124695':15A,18A '-2026':14A,17A '2020.2.513':148C '2026.3.1015':154C '2026.4.1111':161C 'affect':145C 'anyon':67B 'attack':9A,50B,100C,112C 'attacker-control':111C 'avail':136C 'browser':65B,76B,141C 'caus':110C 'compromis':129C 'confidenti':131C 'context':142C 'control':113C 'cve':13A,16A 'data':73B,135C 'document':45B,90C 'even':41B 'execut':116C 'exploit':127C 'expos':72B 'first':144C 'fix':158C 'form':5A,31B,55B,71B,84C,105C,125C 'frontend':19B 'hint':6A,37B,58B,87C,108C 'html':40B,98C 'influenc':103C 'integr':133C 'issu':156C 'item':35B,56B,86C,106C 'javascript':12A,20B,118C 'jqueri':4A,21B,30B,83C 'kendo':1A,23B,27B,80C 'kendo-ui':22B 'latest':150C 'make':60B 'markup':10A,114C 'may':128C 'option':38B,88C 'packag':25B 'plain':47B 'progress':79C 'render':33B,96C,124C 'run':8A,62B 'script':61B 'session':77B 'set':53B 'string':93C 'success':126C 'text':7A,48B 'though':42B 'ui':2A,24B,28B,81C 'user':121C,139C 'version':146C,152C,160C 'view':69B,122C 'vulner':151C 'widget':32B","nicknames":[],"mitigations":[],"who_affected":"Applications that use the Kendo UI for jQuery Form widget and put text into a form item's hint from anything an outside user can influence, such as stored profile data, admin-entered labels or query parameters. Applications that hard-code all hint text, or do not use the Form widget, are not exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["frontend","high","javascript","jquery","kendoui","package"],"campaign_type":null,"search_a":"'-124695':15A,18A '-2026':14A,17A 'attack':9A 'cve':13A,16A 'form':5A 'hint':6A 'javascript':12A 'jqueri':4A 'kendo':1A 'markup':10A 'run':8A 'text':7A 'ui':2A","search_b":"'anyon':67B 'attack':50B 'browser':65B,76B 'data':73B 'document':45B 'even':41B 'expos':72B 'form':31B,55B,71B 'frontend':19B 'hint':37B,58B 'html':40B 'item':35B,56B 'javascript':20B 'jqueri':21B,30B 'kendo':23B,27B 'kendo-ui':22B 'make':60B 'option':38B 'packag':25B 'plain':47B 'render':33B 'run':62B 'script':61B 'session':77B 'set':53B 'text':48B 'though':42B 'ui':24B,28B 'view':69B 'widget':32B","search_c":"'2020.2.513':148C '2026.3.1015':154C '2026.4.1111':161C 'affect':145C 'attack':100C,112C 'attacker-control':111C 'avail':136C 'browser':141C 'caus':110C 'compromis':129C 'confidenti':131C 'context':142C 'control':113C 'data':135C 'document':90C 'execut':116C 'exploit':127C 'first':144C 'fix':158C 'form':84C,105C,125C 'hint':87C,108C 'html':98C 'influenc':103C 'integr':133C 'issu':156C 'item':86C,106C 'javascript':118C 'jqueri':83C 'kendo':80C 'latest':150C 'markup':114C 'may':128C 'option':88C 'progress':79C 'render':96C,124C 'string':93C 'success':126C 'ui':81C 'user':121C,139C 'version':146C,152C,160C 'view':122C 'vulner':151C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-12T17:17:30+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L","cvss_by":"security@progress.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-124695","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-124695","severity":null,"published_at":"2026-11-12T17:17:30+00:00","modified_at":"2026-11-12T17:17:30+00:00","first_seen_at":"2026-11-12T17:39:37+00:00","fetched_at":"2026-11-12T17:39:37+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"}