mirror of
https://github.com/OMGeeky/advisory-db.git
synced 2026-01-06 19:49:45 +01:00
ark_r1cs_std::mul_by_inverse generated unsound constraints in versions below 0.3.1 (#961)
* `ark_r1cs_std::mul_by_inverse` was unsound in versions below `0.3.1` * Fix category * Add link to PR
This commit is contained in:
22
crates/ark-r1cs-std/RUSTSEC-0000-0000.md
Normal file
22
crates/ark-r1cs-std/RUSTSEC-0000-0000.md
Normal file
@@ -0,0 +1,22 @@
|
||||
```toml
|
||||
[advisory]
|
||||
id = "RUSTSEC-0000-0000"
|
||||
package = "ark-r1cs-std"
|
||||
date = "2021-07-08"
|
||||
categories = ["crypto-failure"]
|
||||
keywords = ["r1cs", "zksnark", "arkworks"]
|
||||
url = "https://github.com/arkworks-rs/r1cs-std/pull/70"
|
||||
|
||||
[versions]
|
||||
patched = [">= 0.3.1"]
|
||||
|
||||
[affected]
|
||||
functions = { "ark_r1cs_std::FieldVar::mul_by_inverse" = ["< 0.3.0"] }
|
||||
```
|
||||
|
||||
# Flaw in `FieldVar::mul_by_inverse` allows unsound R1CS constraint systems
|
||||
|
||||
Versions `0.2.0` to `0.3.0` of ark-r1cs-std did not enforce any constraints in the `FieldVar::mul_by_inverse` method, allowing a malicious prover to produce an unsound proof that passes all verifier checks.
|
||||
This method was used primarily in scalar multiplication for [`short_weierstrass::ProjectiveVar`](https://docs.rs/ark-r1cs-std/0.3.0/ark_r1cs_std/groups/curves/short_weierstrass/struct.ProjectiveVar.html).
|
||||
|
||||
This bug was fixed in commit `47ddbaa`, and was released as part of version `0.3.1` on `crates.io`.
|
||||
Reference in New Issue
Block a user