{"id":"CVE-2021-31406","aliases":["EUVD-2021-0850","GHSA-p7jq-v8jp-j424"],"status":"published","title":"Timing side channel vulnerability in endpoint request handler in Vaadin 15-19","description":"Non-constant-time comparison of CSRF tokens in endpoint request handler in com.vaadin:flow-server versions 3.0.0 through 5.0.3 (Vaadin 15.0.0 through 18.0.6), and com.vaadin:fusion-endpoint version 6.0.0 (Vaadin 19.0.0) allows attacker to guess a security token for Fusion endpoints 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-10","score":0.00211,"percentile":0.11385,"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:50:38Z","modified":"2026-10-25T01:16:51Z","fixes":[{"ecosystem":"Maven","package":"com.vaadin:flow-server","fixed_in":["5.0.4","6.0.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"com.vaadin:flow-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0"},{"fixed":"5.0.4"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"com.vaadin:flow-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.0.0"},{"last_affected":"6.0.0"},{"fixed":"6.0.1"}]}],"versions":["6.0.0"]},{"source":"osv","ecosystem":"Maven","package":"com.vaadin:flow-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0"},{"fixed":"5.0.4"}]}],"versions":["3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.1.0","3.1.1","3.1.2","3.1.3","3.1.5","3.1.6","3.1.7","4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6","4.0.7","4.0.8","5.0.0","5.0.1","5.0.2","5.0.3"]},{"source":"osv","ecosystem":"Maven","package":"com.vaadin:flow-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.0.0"},{"fixed":"6.0.1"}]}],"versions":["6.0.0"]}],"products":[{"vendor":"flow","product":"flow-server"},{"vendor":"vaadin","product":"flow"},{"vendor":"vaadin","product":"flow-server"},{"vendor":"vaadin","product":"vaadin"}],"references":[{"url":"https://vaadin.com/security/cve-2021-31406","tags":["x_refsource_MISC","x_transferred","Vendor Advisory","advisory","web"]},{"url":"https://github.com/vaadin/flow/pull/10157","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/vaadin/flow/security/advisories/GHSA-p7jq-v8jp-j424","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-31406","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-p7jq-v8jp-j424"}],"sources":{"cve":[{"id":"CVE-2021-31406","title":"Timing side channel vulnerability in endpoint request handler in Vaadin 15-19","description":"Non-constant-time comparison of CSRF tokens in endpoint request handler in com.vaadin:flow-server versions 3.0.0 through 5.0.3 (Vaadin 15.0.0 through 18.0.6), and com.vaadin:fusion-endpoint version 6.0.0 (Vaadin 19.0.0) allows attacker to guess a security token for Fusion endpoints via timing attack.","status":"published","published":"2021-04-23T16:05:41.375Z","modified":"2024-09-17T00:02:31.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","assessor":"cna"}],"cwes":["CWE-208"],"updated_at":"2026-11-02T14:33:05.331617Z"}],"euvd":[{"id":"EUVD-2021-0850","description":"Non-constant-time comparison of CSRF tokens in endpoint request handler in com.vaadin:flow-server versions 3.0.0 through 5.0.3 (Vaadin 15.0.0 through 18.0.6), and com.vaadin:fusion-endpoint version 6.0.0 (Vaadin 19.0.0) allows attacker to guess a security token for Fusion endpoints via timing attack.","status":"published","published":"2021-04-23T16:05:41Z","modified":"2024-09-17T00:02: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"}],"updated_at":"2026-11-03T00:29:02.472621Z"}],"ghsa":[{"id":"GHSA-p7jq-v8jp-j424","title":"Timing side channel vulnerability in endpoint request handler in Vaadin 15-19","description":"Non-constant-time comparison of CSRF tokens in endpoint request handler in `com.vaadin:flow-server` versions 3.0.0 through 5.0.3 (Vaadin 15.0.0 through 18.0.6), and com.vaadin:fusion-endpoint version 6.0.0 (Vaadin 19.0.0) allows attacker to guess a security token for Fusion endpoints via timing attack.\n\n- https://vaadin.com/security/cve-2021-31406","status":"published","published":"2021-04-19T14:50:38Z","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-31406","description":"Non-constant-time comparison of CSRF tokens in endpoint request handler in com.vaadin:flow-server versions 3.0.0 through 5.0.3 (Vaadin 15.0.0 through 18.0.6), and com.vaadin:fusion-endpoint version 6.0.0 (Vaadin 19.0.0) allows attacker to guess a security token for Fusion endpoints via timing attack.","status":"published","published":"2021-04-23T16:15:08.727Z","modified":"2026-06-17T03:51:43.33Z","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-31406","description":"Non-constant-time comparison of CSRF tokens in endpoint request handler in com.vaadin:flow-server versions 3.0.0 through 5.0.3 (Vaadin 15.0.0 through 18.0.6), and com.vaadin:fusion-endpoint version 6.0.0 (Vaadin 19.0.0) allows attacker to guess a security token for Fusion endpoints via timing attack.","status":"published","published":"2021-04-23T16:15:08.727Z","modified":"2026-10-25T01:16:51.125456139Z","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-p7jq-v8jp-j424","title":"Timing side channel vulnerability in endpoint request handler in Vaadin 15-19","description":"Non-constant-time comparison of CSRF tokens in endpoint request handler in `com.vaadin:flow-server` versions 3.0.0 through 5.0.3 (Vaadin 15.0.0 through 18.0.6), and com.vaadin:fusion-endpoint version 6.0.0 (Vaadin 19.0.0) allows attacker to guess a security token for Fusion endpoints via timing attack.\n\n- https://vaadin.com/security/cve-2021-31406","status":"published","published":"2021-04-19T14:50:38Z","modified":"2023-11-08T04:05:48.283602Z","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:52.891208Z"}]}}
