{"id":"CVE-2021-31403","aliases":["EUVD-2021-0784","GHSA-75xc-qvxh-27f8"],"status":"published","title":"Timing side channel vulnerability in UIDL request handler in Vaadin 7 and 8","description":"Non-constant-time comparison of CSRF tokens in UIDL request handler in com.vaadin:vaadin-server versions 7.0.0 through 7.7.23 (Vaadin 7.0.0 through 7.7.23), and 8.0.0 through 8.12.2 (Vaadin 8.0.0 through 8.12.2) allows attacker to guess a security token via timing attack","severity":{"version":"3.1","score":4,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00306,"percentile":0.23641,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-203","CWE-208"],"published":"2021-04-19T14:51:06Z","modified":"2026-10-24T14:21:12Z","fixes":[{"ecosystem":"Maven","package":"com.vaadin:vaadin-bom","fixed_in":["7.7.24","8.12.3"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"com.vaadin:vaadin-server","fixed_in":["7.7.24","8.12.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"com.vaadin:vaadin-bom","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.0.0"},{"fixed":"7.7.24"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"com.vaadin:vaadin-bom","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"8.0.0"},{"fixed":"8.12.3"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"com.vaadin:vaadin-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.0.0"},{"fixed":"7.7.24"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"com.vaadin:vaadin-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"8.0.0"},{"fixed":"8.12.3"}]}]},{"source":"osv","ecosystem":"Maven","package":"com.vaadin:vaadin-bom","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.0.0"},{"fixed":"7.7.24"}]}],"versions":["7.4.0","7.4.1","7.4.2","7.4.3","7.4.4","7.4.5","7.4.6","7.4.7","7.4.8","7.5.0","7.5.0.beta1","7.5.0.beta2","7.5.0.beta3","7.5.0.rc1","7.5.0.rc2","7.5.1","7.5.10","7.5.2","7.5.3","7.5.4","7.5.5","7.5.6","7.5.7","7.5.8","7.5.9","7.6.0","7.6.0.alpha1","7.6.0.alpha2","7.6.1","7.6.2","7.6.3","7.6.4","7.6.5","7.6.6","7.6.7","7.6.8","7.7.0","7.7.1","7.7.10","7.7.11","7.7.12","7.7.13","7.7.14","7.7.15","7.7.16","7.7.17","7.7.2","7.7.23","7.7.3","7.7.4","7.7.5","7.7.6","7.7.7","7.7.8","7.7.9"]},{"source":"osv","ecosystem":"Maven","package":"com.vaadin:vaadin-bom","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"8.0.0"},{"fixed":"8.12.3"}]}],"versions":["8.0.0","8.0.1","8.0.2","8.0.3","8.0.4","8.0.5","8.0.6","8.0.7","8.1.0","8.1.1","8.1.2","8.1.3","8.1.4","8.1.5","8.1.6","8.1.7","8.1.8","8.10.0","8.10.1","8.10.2","8.10.3","8.10.4","8.10.5","8.11.0","8.11.1","8.11.2","8.11.3","8.12.0","8.12.1","8.12.2","8.2.0","8.2.1","8.3.0","8.3.1","8.3.2","8.3.3","8.4.0","8.4.1","8.4.2","8.4.3","8.4.4","8.4.5","8.5.0","8.5.1","8.5.2","8.6.0","8.6.1","8.6.2","8.6.3","8.6.4","8.7.0","8.7.0.beta1","8.7.1","8.7.2","8.8.0","8.8.1","8.8.2","8.8.3","8.8.4","8.8.5","8.8.6","8.9.0","8.9.1","8.9.2","8.9.3","8.9.4"]},{"source":"osv","ecosystem":"Maven","package":"com.vaadin:vaadin-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.0.0"},{"fixed":"7.7.24"}]}],"versions":["7.0.0","7.0.1","7.0.2","7.0.3","7.0.4","7.0.5","7.0.6","7.0.7","7.1.0","7.1.0.beta1","7.1.1","7.1.10","7.1.11","7.1.12","7.1.13","7.1.14","7.1.15","7.1.2","7.1.3","7.1.4","7.1.5","7.1.6","7.1.7","7.1.8","7.1.9","7.2.0","7.2.0.beta1","7.2.1","7.2.2","7.2.3","7.2.4","7.2.5","7.2.6","7.2.7","7.3.0","7.3.0.alpha1","7.3.0.alpha2","7.3.0.alpha3","7.3.0.beta1","7.3.0.rc1","7.3.1","7.3.10","7.3.2","7.3.3","7.3.4","7.3.5","7.3.6","7.3.7","7.3.8","7.3.9","7.4.0","7.4.0.alpha1","7.4.0.alpha10","7.4.0.alpha11","7.4.0.alpha12","7.4.0.alpha13","7.4.0.alpha14","7.4.0.alpha2","7.4.0.alpha3","7.4.0.alpha4","7.4.0.alpha5","7.4.0.alpha6","7.4.0.alpha7","7.4.0.alpha8","7.4.0.alpha9","7.4.0.beta1","7.4.0.beta2","7.4.0.beta3","7.4.0.rc1","7.4.1","7.4.2","7.4.3","7.4.4","7.4.5","7.4.6","7.4.7","7.4.8","7.5.0","7.5.0.alpha1","7.5.0.beta1","7.5.0.beta2","7.5.0.beta3","7.5.0.rc1","7.5.0.rc2","7.5.1","7.5.10","7.5.2","7.5.3","7.5.4","7.5.5","7.5.6","7.5.7","7.5.8","7.5.9","7.6.0","7.6.0.alpha1","7.6.0.alpha2","7.6.1","7.6.2","7.6.3","7.6.4","7.6.5","7.6.6","7.6.7","7.6.8","7.7.0","7.7.1","7.7.10","7.7.11","7.7.12","7.7.13","7.7.14","7.7.15","7.7.16","7.7.17","7.7.2","7.7.23","7.7.3","7.7.4","7.7.5","7.7.6","7.7.7","7.7.8","7.7.9"]},{"source":"osv","ecosystem":"Maven","package":"com.vaadin:vaadin-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"8.0.0"},{"fixed":"8.12.3"}]}],"versions":["8.0.0","8.0.1","8.0.2","8.0.3","8.0.4","8.0.5","8.0.6","8.0.7","8.1.0","8.1.1","8.1.2","8.1.3","8.1.4","8.1.5","8.1.6","8.1.7","8.1.8","8.10.0","8.10.1","8.10.2","8.10.3","8.10.4","8.10.5","8.11.0","8.11.1","8.11.2","8.11.3","8.12.0","8.12.1","8.12.2","8.2.0","8.2.1","8.3.0","8.3.1","8.3.2","8.3.3","8.4.0","8.4.1","8.4.2","8.4.3","8.4.4","8.4.5","8.5.0","8.5.1","8.5.2","8.6.0","8.6.1","8.6.2","8.6.3","8.6.4","8.7.0","8.7.0.beta1","8.7.1","8.7.2","8.8.0","8.8.1","8.8.2","8.8.3","8.8.4","8.8.5","8.8.6","8.9.0","8.9.1","8.9.2","8.9.3","8.9.4"]}],"products":[{"vendor":"vaadin","product":"vaadin"},{"vendor":"vaadin","product":"vaadin-server"}],"references":[{"url":"https://vaadin.com/security/cve-2021-31403","tags":["x_refsource_MISC","x_transferred","Vendor Advisory","advisory","web"]},{"url":"https://github.com/vaadin/framework/pull/12190","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/vaadin/framework/pull/12188","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/vaadin/framework/security/advisories/GHSA-75xc-qvxh-27f8","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-31403","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-75xc-qvxh-27f8"}],"sources":{"cve":[{"id":"CVE-2021-31403","title":"Timing side channel vulnerability in UIDL request handler in Vaadin 7 and 8","description":"Non-constant-time comparison of CSRF tokens in UIDL request handler in com.vaadin:vaadin-server versions 7.0.0 through 7.7.23 (Vaadin 7.0.0 through 7.7.23), and 8.0.0 through 8.12.2 (Vaadin 8.0.0 through 8.12.2) allows attacker to guess a security token via timing attack","status":"published","published":"2021-04-23T16:05:41.014Z","modified":"2024-09-16T22:08:44.8Z","cvss":[{"version":"3.1","score":4,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-208"],"updated_at":"2026-11-02T14:33:05.665371Z"}],"euvd":[{"id":"EUVD-2021-0784","description":"Non-constant-time comparison of CSRF tokens in UIDL request handler in com.vaadin:vaadin-server versions 7.0.0 through 7.7.23 (Vaadin 7.0.0 through 7.7.23), and 8.0.0 through 8.12.2 (Vaadin 8.0.0 through 8.12.2) allows attacker to guess a security token via timing attack","status":"published","published":"2021-04-23T16:05:41Z","modified":"2024-09-16T22:08:44Z","cvss":[{"version":"3.1","score":4,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-03T00:55:05.688542Z"}],"ghsa":[{"id":"GHSA-75xc-qvxh-27f8","title":"Timing side channel vulnerability in UIDL request handler in Vaadin 7 and 8","description":"Non-constant-time comparison of CSRF tokens in UIDL request handler in `com.vaadin:vaadin-server` versions 7.0.0 through 7.7.23 (Vaadin 7.0.0 through 7.7.23), and 8.0.0 through 8.12.2 (Vaadin 8.0.0 through 8.12.2) allows attacker to guess a security token via timing attack\n\n- https://vaadin.com/security/cve-2021-31403","status":"published","published":"2021-04-19T14:51:06Z","modified":"2023-02-01T05:05:31Z","cvss":[{"version":"3.1","score":4,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-203","CWE-208"],"updated_at":"2026-11-02T14:36:34.917834Z"}],"nvd":[{"id":"CVE-2021-31403","description":"Non-constant-time comparison of CSRF tokens in UIDL request handler in com.vaadin:vaadin-server versions 7.0.0 through 7.7.23 (Vaadin 7.0.0 through 7.7.23), and 8.0.0 through 8.12.2 (Vaadin 8.0.0 through 8.12.2) allows attacker to guess a security token via timing attack","status":"published","published":"2021-04-23T16:15:08.6Z","modified":"2026-06-17T03:51:42.837Z","cvss":[{"version":"3.1","score":4,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":2.5,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N","level":"low","assessor":"primary"},{"version":"2.0","score":1.9,"vector":"AV:L/AC:M/Au:N/C:P/I:N/A:N","level":"low","assessor":"primary"}],"cwes":["CWE-208","CWE-203"],"updated_at":"2026-11-02T14:06:52.03307Z"}],"osv":[{"id":"CVE-2021-31403","description":"Non-constant-time comparison of CSRF tokens in UIDL request handler in com.vaadin:vaadin-server versions 7.0.0 through 7.7.23 (Vaadin 7.0.0 through 7.7.23), and 8.0.0 through 8.12.2 (Vaadin 8.0.0 through 8.12.2) allows attacker to guess a security token via timing attack","status":"published","published":"2021-04-23T16:15:08.6Z","modified":"2026-10-24T14:21:12.662985051Z","cvss":[{"version":"3.1","score":2.5,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T15:44:19.483607Z"},{"id":"GHSA-75xc-qvxh-27f8","title":"Timing side channel vulnerability in UIDL request handler in Vaadin 7 and 8","description":"Non-constant-time comparison of CSRF tokens in UIDL request handler in `com.vaadin:vaadin-server` versions 7.0.0 through 7.7.23 (Vaadin 7.0.0 through 7.7.23), and 8.0.0 through 8.12.2 (Vaadin 8.0.0 through 8.12.2) allows attacker to guess a security token via timing attack\n\n- https://vaadin.com/security/cve-2021-31403","status":"published","published":"2021-04-19T14:51:06Z","modified":"2023-11-08T04:05:48.098329Z","cvss":[{"version":"3.1","score":4,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-203","CWE-208"],"updated_at":"2026-11-02T15:46:40.657155Z"}]}}
