CVE-2026-110737: Push Endpoint Returns Permissive CORS Headers
The push endpoint of a Vaadin application that uses server push reflects the request Origin into the Access-Control-Allow-Origin response header and allows credentials, because Flow configures Atmosphere with DROPACCESSCONTROLALLOWORIGINHEADER set to false and its CorsInterceptor then echoes whatever Origin the request carries. A page on any origin can therefore make a cross origin request to that endpoint with the user's cookies and read the response, although reading anything useful also requires the push identifier of that session. Applications that do not use @Push are not affected, and neither is the WebSocket transport. The behaviour was introduced in January 2015 and is present in every Flow release and in Vaadin Framework from 7.1.0, which is when push was added.
Users of affected versions should apply the following mitigation or upgrade. Releases that have fixed this issue include:
Product version Vaadin 14.14.0 - 14.14.7 Vaadin 23.6.0 - 23.6.16 Vaadin 24.4.0 - 24.4.25 Vaadin 24.5.0 - 24.5.15 Vaadin 24.6.0 - 24.6.13 Vaadin 24.7.0 - 24.7.16 Vaadin 24.8.0 - 24.8.17 Vaadin 24.9.0 - 24.9.23 Vaadin 24.10.0 - 24.10.11 Vaadin 25.0.0 - 25.0.13 Vaadin 25.1.0 - 25.1.13 Vaadin 25.2.0 - 25.2.10 Vaadin 25.3.0 - 25.3.2 Vaadin Framework 7.1.0 - 7.7.54 Vaadin Framework 8.0.0 - 8.32.1
Mitigation Upgrade to 14.14.8 Upgrade to 23.6.17 Upgrade to 24.4.26 Upgrade to 24.7.17 Upgrade to 24.7.17 Upgrade to 24.7.17 Upgrade to 24.9.24 Upgrade to 24.9.24 Upgrade to 24.10.12 Upgrade to 25.2.11 Upgrade to 25.2.11 Upgrade to 25.2.11 Upgrade to 25.3.3 Upgrade to 7.7.55 Upgrade to 8.32.2
Please note that Vaadin versions 10-13 and 15-22 are no longer supported and you should update either to the latest 14, 23, 24, 25 version.
Artifacts Maven coordinates / Vulnerable versions / Fixed version com.vaadin:vaadin / 14.14.0 - 14.14.7 / >=14.14.8 com.vaadin:vaadin / 23.6.0 - 23.6.16 / >=23.6.17 com.vaadin:vaadin / 24.4.0 - 24.4.25 / >=24.4.26 com.vaadin:vaadin / 24.5.0 - 24.5.15 / >=24.7.17 com.vaadin:vaadin / 24.6.0 - 24.6.13 / >=24.7.17 com.vaadin:vaadin / 24.7.0 - 24.7.16 / >=24.7.17 com.vaadin:vaadin / 24.8.0 - 24.8.17 / >=24.9.24 com.vaadin:vaadin / 24.9.0 - 24.9.23 / >=24.9.24 com.vaadin:vaadin / 24.10.0 - 24.10.11 / >=24.10.12 com.vaadin:vaadin / 25.0.0 - 25.0.13 / >=25.2.11 com.vaadin:vaadin / 25.1.0 - 25.1.13 / >=25.2.11 com.vaadin:vaadin / 25.2.0 - 25.2.10 / >=25.2.11 com.vaadin:vaadin / 25.3.0 - 25.3.2 / >=25.3.3 com.vaadin:vaadin-core / 14.14.0 - 14.14.7 / >=14.14.8 com.vaadin:vaadin-core / 23.6.0 - 23.6.16 / >=23.6.17 com.vaadin:vaadin-core / 24.4.0 - 24.4.25 / >=24.4.26 com.vaadin:vaadin-core / 24.5.0 - 24.5.15 / >=24.7.17 com.vaadin:vaadin-core / 24.6.0 - 24.6.13 / >=24.7.17 com.vaadin:vaadin-core / 24.7.0 - 24.7.16 / >=24.7.17 com.vaadin:vaadin-core / 24.8.0 - 24.8.17 / >=24.9.24 com.vaadin:vaadin-core / 24.9.0 - 24.9.23 / >=24.9.24 com.vaadin:vaadin-core / 24.10.0 - 24.10.11 / >=24.10.12 com.vaadin:vaadin-core / 25.0.0 - 25.0.13 / >=25.2.11 com.vaadin:vaadin-core / 25.1.0 - 25.1.13 / >=25.2.11 com.vaadin:vaadin-core / 25.2.0 - 25.2.10 / >=25.2.11 com.vaadin:vaadin-core / 25.3.0 - 25.3.2 / >=25.3.3 com.vaadin:flow-server / 2.13.0 - 2.13.7 / >=2.13.8 com.vaadin:flow-server / 23.6.0 - 23.6.15 / >=23.6.16 com.vaadin:flow-server / 24.4.0 - 24.4.18 / >=24.4.19 com.vaadin:flow-server / 24.5.0 - 24.5.17 / >=24.7.17 com.vaadin:flow-server / 24.6.0 - 24.6.14 / >=24.7.17 com.vaadin:flow-server / 24.7.0 - 24.7.15 / >=24.7.16 com.vaadin:flow-server / 24.8.0 - 24.8.16 / >=24.9.24 com.vaadin:flow-server / 24.9.0 - 24.9.28 / >=24.9.29 com.vaadin:flow-server / 24.10.0 - 24.10.14 / >=24.10.15 com.vaadin:flow-server / 25.0.0 - 25.0.15 / >=25.2.11 com.vaadin:flow-server / 25.1.0 - 25.1.18 / >=25.1.19 com.vaadin:flow-server / 25.2.0 - 25.2.12 / >=25.2.13 com.vaadin:flow-server / 25.3.0 - 25.3.3 / >=25.3.4 com.vaadin:vaadin-server / 7.1.0 - 7.7.54 / >=7.7.55 com.vaadin:vaadin-server / 8.0.0 - 8.32.1 / >=8.32.2 com.vaadin:vaadin-server-mpr-jakarta / 7.7.36 - 7.7.54 / >=7.7.55 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
Vaadinto a version that resolves this vulnerability.Fixed in 14.14.8 - Upgrade
Upgrade
Vaadinto a version that resolves this vulnerability.Fixed in 23.6.17 - Upgrade
Upgrade
Vaadinto a version that resolves this vulnerability.Fixed in 24.4.26 - Upgrade
Upgrade
Vaadinto a version that resolves this vulnerability.Fixed in 24.7.17 - Upgrade
Upgrade
Vaadinto a version that resolves this vulnerability.Fixed in 24.9.24 - Upgrade
Upgrade
Vaadinto a version that resolves this vulnerability.Fixed in 24.10.12 - Upgrade
Upgrade
Vaadinto a version that resolves this vulnerability.Fixed in 25.2.11 - Upgrade
Upgrade
Vaadinto a version that resolves this vulnerability.Fixed in 25.3.3 - Upgrade
Upgrade
Vaadin Frameworkto a version that resolves this vulnerability.Fixed in 7.7.55 - Upgrade
Upgrade
Vaadin Frameworkto a version that resolves this vulnerability.Fixed in 8.32.2 - Upgrade
Upgrade
com.vaadin:flow-serverto a version that resolves this vulnerability.Fixed in 2.13.8 - Upgrade
Upgrade
com.vaadin:flow-serverto a version that resolves this vulnerability.Fixed in 23.6.16 - Upgrade
Upgrade
com.vaadin:flow-serverto a version that resolves this vulnerability.Fixed in 24.7.16 - Upgrade
Upgrade
com.vaadin:flow-serverto a version that resolves this vulnerability.Fixed in 24.9.29 - Upgrade
Upgrade
com.vaadin:flow-serverto a version that resolves this vulnerability.Fixed in 25.1.19 - Upgrade
Upgrade
com.vaadin:flow-serverto a version that resolves this vulnerability.Fixed in 25.2.13 - Upgrade
Upgrade
com.vaadin:flow-serverto a version that resolves this vulnerability.Fixed in 25.3.4 - Upgrade
Upgrade
com.vaadin:vaadinto a version that resolves this vulnerability.Fixed in 14.14.8 - Upgrade
Upgrade
com.vaadin:vaadinto a version that resolves this vulnerability.Fixed in 23.6.17 - Upgrade
Upgrade
com.vaadin:vaadinto a version that resolves this vulnerability.Fixed in 24.4.26 - Upgrade
Upgrade
com.vaadin:vaadinto a version that resolves this vulnerability.Fixed in 24.7.17 - Upgrade
Upgrade
com.vaadin:vaadinto a version that resolves this vulnerability.Fixed in 24.9.24 - Upgrade
Upgrade
com.vaadin:vaadinto a version that resolves this vulnerability.Fixed in 24.10.12 - Upgrade
Upgrade
com.vaadin:vaadinto a version that resolves this vulnerability.Fixed in 25.2.11 - Upgrade
Upgrade
com.vaadin:vaadinto a version that resolves this vulnerability.Fixed in 25.3.3 - Upgrade
Upgrade
com.vaadin:vaadin-coreto a version that resolves this vulnerability.Fixed in 14.14.8 - Upgrade
Upgrade
com.vaadin:vaadin-coreto a version that resolves this vulnerability.Fixed in 23.6.17 - Upgrade
Upgrade
com.vaadin:vaadin-coreto a version that resolves this vulnerability.Fixed in 24.4.26 - Upgrade
Upgrade
com.vaadin:vaadin-coreto a version that resolves this vulnerability.Fixed in 24.7.17 - Upgrade
Upgrade
com.vaadin:vaadin-coreto a version that resolves this vulnerability.Fixed in 24.9.24 - Upgrade
Upgrade
com.vaadin:vaadin-coreto a version that resolves this vulnerability.Fixed in 24.10.12 - Upgrade
Upgrade
com.vaadin:vaadin-coreto a version that resolves this vulnerability.Fixed in 25.2.11 - Upgrade
Upgrade
com.vaadin:vaadin-coreto a version that resolves this vulnerability.Fixed in 25.3.3 - Upgrade
Upgrade
com.vaadin:vaadin-serverto a version that resolves this vulnerability.Fixed in 7.7.55 - 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 7.7.55 - Upgrade
Upgrade
com.vaadin:vaadin-server-mpr-jakartato a version that resolves this vulnerability.Fixed in 8.32.2
Event History
Frequently Asked Questions
Which deployments are exposed?
Vaadin applications that use server push via @Push are affected. Applications that do not use @Push are not affected.
What does an attacker need to exploit this behavior?
An attacker can send a cross-origin request with the user’s cookies and read the response from a page hosted on any origin. Reading useful data also requires the push identifier for the targeted user session.
Is the WebSocket push transport affected?
No. The WebSocket transport is not affected.
Which fixed release lines are identified?
The listed fixed releases include Vaadin 14.14.0 through 14.14.7, 23.6.0 through 23.6.16, 24.4.0 through 24.4.25, 24.5.0 through 24.5.15, 24.6.0 through 24.6.13, 24.7.0 through 24.7.16, 24.8.0 through 24.8.17, 24.9.0 through 24.9.23, 24.10.0 through 24.10.11, 25.0.0 through 25.0.13, and 25.1.0 through 25.1.13.