Skip to content
OpenAdvisories

Vendor

matter-labs

6 known vulnerabilities.

5 results · Clear filters · Feed

  • Medium 5.9

    `fold (xor (shl 1, x), -1) -> (rotl ~1, x)` misoptimization in zksolc

    zksolc is a Solidity compiler for ZKsync. All LLVM versions since 2015 fold `(xor (shl 1, x), -1)` to `(rotl ~1, x)` if run with optimizations enabled. Here `~1` is generated as an unsigned 64 bits number (`2^64-1`). This number is zero-extended to 256 bits o…

  • Medium 6.5

    ZKsync Era invalid stack addressing conversion

    ZKsync Era is a layer 2 rollup that uses zero-knowledge proofs to scale Ethereum. There is possible invalid stack access due to the addresses used to access the stack not properly being converted to cells. This issue has been patched in version 1.5.0.

  • Medium 5.3

    ZKsync Era evaluation order of Yul function arguments

    ZKsync Era is a layer 2 rollup that uses zero-knowledge proofs to scale Ethereum. Prior to version 1.3.10, there is a very specific pattern `f(a(),b()); check_if_a_executed_last()` in Yul that exposes a bug in evaluation order of Yul function arguments. This …

  • Medium 5.9

    era-compiler-solidity contains a `xor(zext(cmp), -1)` misoptimization

    era-compiler-solidity is the ZKsync compiler for Solidity. The problem occurred during instruction selection in the `DAGCombine` phase while visiting the XOR operation. The issue arises when attempting to fold the expression `!(x cc y)` into `(x !cc y)`. To p…

  • Medium 5.3

    era-compiler-vyper First Immutable Variable Initialization vulnerability

    era-compiler-vyper is the EraVM Vyper compiler for zkSync Era, a layer 2 rollup that uses zero-knowledge proofs to scale Ethereum. Prior to era-compiler-vype version 1.3.10, a bug prevented the initialization of the first immutable variable for Vyper contract…