Integer Underflow (Wrap or Wraparound)
CVE-2023-44378
Summary
The github.com/consensys/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.
- LOW
- LOCAL
- HIGH
- UNCHANGED
- NONE
- LOW
- NONE
- NONE
CWE-191 - Integer Underflow (Wrap or Wraparound)
The product subtracts one value from another, such that the result is less than the minimum allowable integer value, which produces a value that is not equal to the correct result.
References
Advisory Timeline
- Published