vaadin: Push Endpoint Returns Permissive CORS Headers
What fixes it
- 14.14.8vaadinCVE List
- 23.6.17vaadinCVE List
- 24.4.26vaadinCVE List
- 24.7.17vaadinCVE List
- 24.9.24vaadinCVE List
- 24.10.12vaadinCVE List
Show all 19 fixed versions
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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 DROP_ACCESS_CONTROL_ALLOW_ORIGIN_HEADER 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 under com.vaadin Maven coordinates / Vulnerable versions / Fixed version vaadin / 14.14.0 - 14.14.7 / >=14.14.8 vaadin / 23.6.0 - 23.6.16 / >=23.6.17 vaadin / 24.4.0 - 24.4.25 / >=24.4.26 vaadin / 24.5.0 - 24.5.15 / >=24.7.17 vaadin / 24.6.0 - 24.6.13 / >=24.7.17 vaadin / 24.7.0 - 24.7.16 / >=24.7.17 vaadin / 24.8.0 - 24.8.17 / >=24.9.24 vaadin / 24.9.0 - 24.9.23 / >=24.9.24 vaadin / 24.10.0 - 24.10.11 / >=24.10.12 vaadin / 25.0.0 - 25.0.13 / >=25.2.11 vaadin / 25.1.0 - 25.1.13 / >=25.2.11 vaadin / 25.2.0 - 25.2.10 / >=25.2.11 vaadin / 25.3.0 - 25.3.2 / >=25.3.3 vaadin-core / 14.14.0 - 14.14.7 / >=14.14.8 vaadin-core / 23.6.0 - 23.6.16 / >=23.6.17 vaadin-core / 24.4.0 - 24.4.25 / >=24.4.26 vaadin-core / 24.5.0 - 24.5.15 / >=24.7.17 vaadin-core / 24.6.0 - 24.6.13 / >=24.7.17 vaadin-core / 24.7.0 - 24.7.16 / >=24.7.17 vaadin-core / 24.8.0 - 24.8.17 / >=24.9.24 vaadin-core / 24.9.0 - 24.9.23 / >=24.9.24 vaadin-core / 24.10.0 - 24.10.11 / >=24.10.12 vaadin-core / 25.0.0 - 25.0.13 / >=25.2.11 vaadin-core / 25.1.0 - 25.1.13 / >=25.2.11 vaadin-core / 25.2.0 - 25.2.10 / >=25.2.11 vaadin-core / 25.3.0 - 25.3.2 / >=25.3.3 flow-server / 2.13.0 - 2.13.7 / >=2.13.8 flow-server / 23.6.0 - 23.6.15 / >=23.6.16 flow-server / 24.4.0 - 24.4.18 / >=24.4.19 flow-server / 24.5.0 - 24.5.17 / >=24.7.17 flow-server / 24.6.0 - 24.6.14 / >=24.7.17 flow-server / 24.7.0 - 24.7.15 / >=24.7.16 flow-server / 24.8.0 - 24.8.16 / >=24.9.24 flow-server / 24.9.0 - 24.9.28 / >=24.9.29 flow-server / 24.10.0 - 24.10.14 / >=24.10.15 flow-server / 25.0.0 - 25.0.15 / >=25.2.11 flow-server / 25.1.0 - 25.1.18 / >=25.1.19 flow-server / 25.2.0 - 25.2.12 / >=25.2.13 flow-server / 25.3.0 - 25.3.3 / >=25.3.4 vaadin-server / 7.1.0 - 7.7.54 / >=7.7.55 vaadin-server / 8.0.0 - 8.32.1 / >=8.32.2 vaadin-server-mpr-jakarta / 7.7.36 - 7.7.54 / >=7.7.55 vaadin-server-mpr-jakarta / 8.18.0 - 8.32.1 / >=8.32.2
Text from CVE List
Affected versions 30
- vaadinaffected: 14.14.0 before 14.14.8CVE List
- vaadinaffected: 23.6.0 before 23.6.17CVE List
- vaadinaffected: 24.4.0 before 24.4.26CVE List
- vaadinaffected: 24.5.0 through 24.5.15CVE List
- vaadinaffected: 24.6.0 through 24.6.13CVE List
- vaadinaffected: 24.7.0 before 24.7.17CVE List
- vaadinaffected: 24.8.0 through 24.8.17CVE List
- vaadinaffected: 24.9.0 before 24.9.24CVE List
- vaadinaffected: 24.10.0 before 24.10.12CVE List
- vaadinaffected: 25.0.0 through 25.0.13CVE List
- vaadinaffected: 25.1.0 through 25.1.13CVE List
- vaadinaffected: 25.2.0 before 25.2.11CVE List
- vaadinaffected: 25.3.0 before 25.3.3CVE List
- flowaffected: 2.13.0 before 2.13.8CVE List
- flowaffected: 23.6.0 before 23.6.16CVE List
- flowaffected: 24.4.0 before 24.4.19CVE List
- flowaffected: 24.5.0 through 24.5.17CVE List
- flowaffected: 24.6.0 through 24.6.14CVE List
- flowaffected: 24.7.0 before 24.7.16CVE List
- flowaffected: 24.8.0 through 24.8.16CVE List
- flowaffected: 24.9.0 before 24.9.29CVE List
- flowaffected: 24.10.0 before 24.10.15CVE List
- flowaffected: 25.0.0 through 25.0.15CVE List
- flowaffected: 25.1.0 before 25.1.19CVE List
- flowaffected: 25.2.0 before 25.2.13CVE List
- flowaffected: 25.3.0 before 25.3.4CVE List
- frameworkaffected: 7.1.0 before 7.7.55CVE List
- frameworkaffected: 8.0.0 before 8.32.2CVE List
- frameworkaffected: 7.7.36 before 7.7.55CVE List
- frameworkaffected: 8.18.0 before 8.32.2CVE List