CVE-2026-110803: Session Lock Leak on an Invalid UI Id Allows Denial of Service in Vaadin Framework 8
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.
Users of affected versions should apply the following mitigation or upgrade. Releases that have fixed this issue include:
Product version Vaadin Framework 8.16.0 - 8.32.1
Mitigation Upgrade to 8.32.2
Vaadin Framework 7 and Vaadin 10 and later do not carry this behaviour and need no upgrade for this issue.
Artifacts Maven coordinates / Vulnerable versions / Fixed version com.vaadin:vaadin-server / 8.16.0 - 8.32.1 / >=8.32.2 com.vaadin:vaadin-server-mpr-jakarta / 8.18.0 - 8.32.1 / >=8.32.2
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
com.vaadin:vaadin-serverto a version that resolves this vulnerability.Fixed in 8.32.2 - Upgrade
Upgrade
com.vaadin:vaadin-server-mpr-jakartato a version that resolves this vulnerability.Fixed in 8.32.2
Event History
Frequently Asked Questions
Who can exploit this issue?
No authentication is required. An attacker only needs a session cookie, which any client can obtain with a single request, and can then send a request with a non-numeric v-uiId parameter.
What is the operational impact of a successful attack?
The affected session remains locked, causing all later requests to that session to block forever. Repeating the request can exhaust the container thread pool and take the application down.
Which versions and artifacts need remediation?
Vaadin Framework 8 versions 8.16.0 through 8.32.1 are affected; upgrade to 8.32.2. The listed artifacts are com.vaadin:vaadin-server and com.vaadin:vaadin-server-mpr-jakarta; Vaadin Framework 7 and Vaadin 10 and later are not affected.