{"id":"CVE-2026-124696","kind":"vulnerability","aliases":["CVE-2026-124696"],"related":[],"title":"Kendo UI for jQuery: spreadsheet sheet names allow script injection on hover","description":"In Progress Kendo UI for jQuery, Spreadsheet sheet names are inserted into the SheetsBar menu button's data-sheet-name attribute without encoding. An attacker who can influence a sheet name can inject an event-handler attribute and execute JavaScript when a user hovers over the menu button. Successful exploitation may compromise the confidentiality and integrity of data available in the user's browser context. The first affected version is 2024.4.1112; the latest vulnerable version is 2026.3.1015. The issue is fixed in version 2026.4.1111.","summary":"Kendo UI for jQuery's Spreadsheet puts sheet names unencoded into a SheetsBar attribute, so a crafted sheet name can add an event handler. When a user hovers over the menu button, JavaScript runs in their browser and can reach data in that browser context.","severity":"high","cvss":7.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["javascript","jquery","kendo-ui","package","spreadsheet"],"not_affected_if":["no-spreadsheet-widget","trusted-sheet-names"],"how_to_check":"- Check the installed `@progress/kendo-ui` or `@progress/kendo-spreadsheet` version in `package.json` and the lockfile\n- Look for Spreadsheet widgets that load sheet names from user-editable or imported files\n- Compare against `2026.4.1111`","fix":"- Move Kendo UI for jQuery to `2026.4.1111` or later","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.7,"triage":{"at":"2026-11-12T17:39:57Z","model":"claude-haiku-5-5","output":{"fix":"- Move Kendo UI for jQuery to `2026.4.1111` or later","reach":"internet","title":"Kendo UI for jQuery: spreadsheet sheet names allow script injection on hover","impact":"high","summary":"Kendo UI for jQuery's Spreadsheet puts sheet names unencoded into a SheetsBar attribute, so a crafted sheet name can add an event handler. When a user hovers over the menu button, JavaScript runs in their browser and can reach data in that browser context.","audience":"developers","category":"package","nicknames":[],"who_cares":["kendo-ui","jquery","spreadsheet","javascript"],"confidence":0.7,"fix_status":"available","needs_auth":"unknown","worst_case":"script runs in user browser, data exposed","analyst_note":"","how_to_check":"- Check the installed `@progress/kendo-ui` or `@progress/kendo-spreadsheet` version in `package.json` and the lockfile\n- Look for Spreadsheet widgets that load sheet names from user-editable or imported files\n- Compare against `2026.4.1111`","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["no-spreadsheet-widget","trusted-sheet-names"],"who_is_affected":"Applications that embed the Kendo UI for jQuery Spreadsheet and let users, or outside sources, influence sheet names. The affected range runs from `2024.4.1112` through `2026.3.1015`. Apps that do not use the Spreadsheet component or do not accept sheet names from untrusted input are less exposed.","user_interaction":"yes","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000757,"input_tokens":4645,"output_tokens":586,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-124696':15A,18A '-2026':14A,17A '2024.4.1112':143C '2026.3.1015':149C '2026.4.1111':156C 'add':46B 'affect':140C 'allow':8A 'attack':96C 'attribut':39B,92C,109C 'avail':131C 'browser':62B,69B,136C 'button':57B,86C,120C 'compromis':124C 'confidenti':126C 'context':70B,137C 'craft':42B 'cve':13A,16A 'data':66B,89C,130C 'data-sheet-nam':88C 'encod':94C 'event':48B,107C 'event-handl':106C 'execut':111C 'exploit':122C 'first':139C 'fix':153C 'handler':49B,108C 'hover':12A,53B,116C 'influenc':99C 'inject':10A,104C 'insert':81C 'integr':128C 'issu':151C 'javascript':19B,58B,112C 'jqueri':4A,20B,29B,76C 'kendo':1A,22B,26B,73C 'kendo-ui':21B 'latest':145C 'may':123C 'menu':56B,85C,119C 'name':7A,34B,44B,79C,91C,102C 'packag':24B 'progress':72C 'put':32B 'reach':65B 'run':59B 'script':9A 'sheet':6A,33B,43B,78C,90C,101C 'sheetsbar':38B,84C 'spreadsheet':5A,25B,31B,77C 'success':121C 'ui':2A,23B,27B,74C 'unencod':35B 'user':52B,115C,134C 'version':141C,147C,155C 'vulner':146C 'without':93C","nicknames":[],"mitigations":[],"who_affected":"Applications that embed the Kendo UI for jQuery Spreadsheet and let users, or outside sources, influence sheet names. The affected range runs from `2024.4.1112` through `2026.3.1015`. Apps that do not use the Spreadsheet component or do not accept sheet names from untrusted input are less exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["high","javascript","jquery","kendoui","package","spreadsheet"],"campaign_type":null,"search_a":"'-124696':15A,18A '-2026':14A,17A 'allow':8A 'cve':13A,16A 'hover':12A 'inject':10A 'jqueri':4A 'kendo':1A 'name':7A 'script':9A 'sheet':6A 'spreadsheet':5A 'ui':2A","search_b":"'add':46B 'attribut':39B 'browser':62B,69B 'button':57B 'context':70B 'craft':42B 'data':66B 'event':48B 'handler':49B 'hover':53B 'javascript':19B,58B 'jqueri':20B,29B 'kendo':22B,26B 'kendo-ui':21B 'menu':56B 'name':34B,44B 'packag':24B 'put':32B 'reach':65B 'run':59B 'sheet':33B,43B 'sheetsbar':38B 'spreadsheet':25B,31B 'ui':23B,27B 'unencod':35B 'user':52B","search_c":"'2024.4.1112':143C '2026.3.1015':149C '2026.4.1111':156C 'affect':140C 'attack':96C 'attribut':92C,109C 'avail':131C 'browser':136C 'button':86C,120C 'compromis':124C 'confidenti':126C 'context':137C 'data':89C,130C 'data-sheet-nam':88C 'encod':94C 'event':107C 'event-handl':106C 'execut':111C 'exploit':122C 'first':139C 'fix':153C 'handler':108C 'hover':116C 'influenc':99C 'inject':104C 'insert':81C 'integr':128C 'issu':151C 'javascript':112C 'jqueri':76C 'kendo':73C 'latest':145C 'may':123C 'menu':85C,119C 'name':79C,91C,102C 'progress':72C 'sheet':78C,90C,101C 'sheetsbar':84C 'spreadsheet':77C 'success':121C 'ui':74C 'user':115C,134C 'version':141C,147C,155C 'vulner':146C 'without':93C","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-124696","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-124696","severity":null,"published_at":"2026-11-12T17:17:30+00:00","modified_at":"2026-11-12T17:17:31+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"}