{"id":"CVE-2026-110803","kind":"vulnerability","aliases":["CVE-2026-110803"],"related":[],"title":"Vaadin Framework 8: crafted request freezes sessions and exhausts thread pool","description":"VaadinService.requestEnd() in Vaadin Framework 8 locks the session and then reads the v-uiId request parameter outside the block that releases the lock. A request carrying a non-numeric v-uiId makes Integer.parseInt throw while the session lock is held, so the lock is never released and the container thread returns to its pool still owning it. Every later request to that session then blocks forever in VaadinService.lockSession(), and repeating the request exhausts the thread pool and takes the application down. No authentication is required: a session cookie, which any client obtains with a single request, is enough. Vaadin 10 and later are not affected, because Flow releases the lock in a finally block and does not read that parameter there, and Vaadin Framework 7 is not affected either.\n\n\nUsers of affected versions should apply the following mitigation or upgrade. Releases that have fixed this issue include:\n\nProduct version\nVaadin Framework 8.16.0 - 8.32.1\n\nMitigation\nUpgrade to 8.32.2\n\nVaadin Framework 7 and Vaadin 10 and later do not carry this behaviour and need no upgrade for this issue.\n\nArtifacts\nMaven coordinates / Vulnerable versions / Fixed version\ncom.vaadin:vaadin-server / 8.16.0 - 8.32.1 / >=8.32.2\ncom.vaadin:vaadin-server-mpr-jakarta / 8.18.0 - 8.32.1 / >=8.32.2","summary":"A request with a non-numeric v-uiId parameter leaves the session lock held, so every later request to that session hangs. Repeating it exhausts the server thread pool and takes the application down.","severity":"high","cvss":8.7,"epss":0.00279,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["java","package","self-hosted","vaadin","web-apps"],"not_affected_if":["vaadin-10-or-later","vaadin-7"],"how_to_check":"Check the com.vaadin:vaadin-server or vaadin-server-mpr-jakarta version in the Maven or Gradle dependency tree; unknown whether other checks apply.","fix":"Upgrade com.vaadin:vaadin-server to 8.32.2 or later (and vaadin-server-mpr-jakarta to 8.32.2 or later if used).","status":"open","published_at":"2026-10-21T19:16:58+00:00","first_seen_at":"2026-10-23T21:57:29+00:00","triaged_at":"2026-10-23T22:35:31+00:00","updated_at":"2026-10-24T13:15:54+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-23T22:35:31Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade com.vaadin:vaadin-server to 8.32.2 or later (and vaadin-server-mpr-jakarta to 8.32.2 or later if used).","reach":"internet","title":"Vaadin Framework 8: crafted request freezes sessions and exhausts thread pool","impact":"medium","summary":"A request with a non-numeric v-uiId parameter leaves the session lock held, so every later request to that session hangs. Repeating it exhausts the server thread pool and takes the application down.","category":"package","who_cares":["vaadin","java","self-hosted","web-apps"],"confidence":0.8,"needs_auth":"no","worst_case":"Application goes down via thread pool exhaustion from unauthenticated requests","analyst_note":"","how_to_check":"Check the com.vaadin:vaadin-server or vaadin-server-mpr-jakarta version in the Maven or Gradle dependency tree; unknown whether other checks apply.","needs_analyst":false,"not_affected_if":["vaadin-7","vaadin-10-or-later"],"user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000533,"input_tokens":3301,"output_tokens":405,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-110803':14A,17A '-2026':13A,16A '10':164C,227C '7':189C,224C '8':3A,66C '8.16.0':216C,253C '8.18.0':262C '8.32.1':217C,254C,263C '8.32.2':221C,255C,264C 'affect':169C,192C,196C 'app':26B 'appli':199C 'applic':61B,144C 'artifact':242C 'authent':147C 'behaviour':234C 'block':81C,129C,178C 'carri':88C,232C 'client':155C 'com.vaadin':249C,256C 'contain':113C 'cooki':152C 'coordin':244C 'craft':4A 'cve':12A,15A 'either':193C 'enough':162C 'everi':44B,122C 'exhaust':9A,53B,137C 'final':177C 'fix':208C,247C 'flow':171C 'follow':201C 'forev':130C 'framework':2A,65C,188C,215C,223C 'freez':6A 'hang':50B 'held':42B,104C 'host':22B 'includ':211C 'integer.parseint':97C 'issu':210C,241C 'jakarta':261C 'java':18B 'later':45B,123C,166C,229C 'leav':38B 'lock':41B,67C,85C,102C,107C,174C 'make':96C 'maven':243C 'mitig':202C,218C 'mpr':260C 'need':236C 'never':109C 'non':32B,91C 'non-numer':31B,90C 'numer':33B,92C 'obtain':156C 'outsid':79C 'own':120C 'packag':19B 'paramet':37B,78C,184C 'pool':11A,57B,118C,140C 'product':212C 'read':72C,182C 'releas':83C,110C,172C,205C 'repeat':51B,134C 'request':5A,28B,46B,77C,87C,124C,136C,160C 'requir':149C 'return':115C 'self':21B 'self-host':20B 'server':55B,252C,259C 'session':7A,40B,49B,69C,101C,127C,151C 'singl':159C 'still':119C 'take':59B,142C 'thread':10A,56B,114C,139C 'throw':98C 'uiid':36B,76C,95C 'upgrad':204C,219C,238C 'user':194C 'v':35B,75C,94C 'v-uiid':34B,74C,93C 'vaadin':1A,23B,64C,163C,187C,214C,222C,226C,251C,258C 'vaadin-serv':250C 'vaadin-server-mpr-jakarta':257C 'vaadinservice.locksession':132C 'vaadinservice.requestend':62C 'version':197C,213C,246C,248C 'vulner':245C 'web':25B 'web-app':24B","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-21T19:16:58+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"security@vaadin.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-110803","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-110803","severity":null,"published_at":"2026-10-21T19:16:58+00:00","modified_at":"2026-10-22T15:37:23+00:00","first_seen_at":"2026-10-23T21:57:29+00:00","fetched_at":"2026-10-23T22:29:02+00:00","note":null},{"source":"epss","external_id":"CVE-2026-110803","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-110803","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T13:15:54+00:00","fetched_at":"2026-10-24T13:15:54+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}