CVE-2021-38194 Calculation error in ark-r1cs-std

Critical 9.8 Published Updated

A flaw in the ark-r1cs-std Rust library allows attackers to generate unsound proofs that are incorrectly verified, bypassing cryptographic integrity checks.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2021-38194?

CVE-2021-38194 is a critical vulnerability in n/a, published on 8 Aug 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

An issue was discovered in the ark-r1cs-std crate before 0.3.1 for Rust. It does not enforce any constraints in the FieldVar::mul_by_inverse method. Thus, a prover can produce a proof that is unsound but is nonetheless verified.

Which versions are affected by CVE-2021-38194?

3 open source packages ship an affected version, including ark-r1cs-std. It affects 1 product.

PackageAffectedFixed in
ark-r1cs-std crates.ioFrom 0.0.0-00.3.1
ark-r1cs-std crates.ioFrom 0.2.00.3.1
ark-r1cs-std crates.ioFrom 0.2.00.3.1

Products include Arcworks Ark-R1cs-Std.

How do I fix CVE-2021-38194?

Upgrade ark-r1cs-std to 0.3.1 or later.

Is CVE-2021-38194 being exploited?

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

Sources

Also known as GHSA-qj3v-q2vj-4c8h, RUSTSEC-2021-0075.

Is CVE-2021-38194 in your software?

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

Check your SBOMs for free