CVE-2023-44378

gnark vulnerable to unsoundness in variable comparison/non-unique binary decomposition

State
Published
Severity
7.1 High
Published
Oct 9, 2023
Updated
Sep 19, 2024
Reserved
Sep 28, 2023

Read the record on cve.org

Description

gnark is a zk-SNARK library that offers a high-level API to design circuits. Prior to version 0.9.0, for some in-circuit values, it is possible to construct two valid decomposition to bits. In addition to the canonical decomposition of `a`, for small values there exists a second decomposition for `a+r` (where `r` is the modulus the values are being reduced by). The second decomposition was possible due to overflowing the field where the values are defined. Upgrading to version 0.9.0 should fix the issue without needing to change the calls to value comparison methods.

Scores

CVSSScoreVectorSource
3.17.1 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:NGitHub_M

Weaknesses

  • CWE-191 Integer Underflow (Wrap or Wraparound)
  • CWE-697 Incorrect Comparison

Affected Products

ProductVersions
gnarkConsensys
  • < 0.9.0Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.