CVE-2021-31406 Timing side channel vulnerability in endpoint request handler in Vaadin 15-19

Medium 4.0 Published Updated

Attackers can bypass CSRF protection in Vaadin Fusion endpoints by exploiting a timing side channel to guess security tokens.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2021-31406?

CVE-2021-31406 is a medium-severity vulnerability in Vaadin, published on 23 Apr 2021. It can only be exploited from the same machine or local network, with no action from the victim.

Official 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.

Weakness: CWE-203, CWE-208

Which versions are affected by CVE-2021-31406?

4 open source packages ship an affected version, including com.vaadin:flow-server. It affects 2 products.

PackageAffectedFixed in
com.vaadin:flow-server MavenFrom 3.0.05.0.4
com.vaadin:flow-server MavenFrom 3.0.05.0.4
com.vaadin:flow-server MavenFrom 6.0.06.0.1
com.vaadin:flow-server MavenFrom 6.0.06.0.1

Products include Vaadin Flow, Vaadin Vaadin.

How do I fix CVE-2021-31406?

Upgrade com.vaadin:flow-server to a fixed version for your release line: 5.0.4 or 6.0.1.

Is CVE-2021-31406 being exploited?

There is no known exploitation of CVE-2021-31406 in the wild and no public exploit code.

Sources

Also known as GHSA-p7jq-v8jp-j424.

Is CVE-2021-31406 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free