Solidity
Monthly
OpenVM's OpenVmHalo2Verifier Solidity wrapper accepts non-canonical app commitments: verify() takes appExeCommit and appVmCommit as raw bytes32 without rejecting values greater than or equal to the BN254 scalar field modulus (0x30644e72...f0000001), so the byte-level input a caller supplies can differ from the field element the verifier arithmetic actually consumes. Applications built on the wrapper - OpenVM SDK releases before 1.7.0 in the 1.x line, plus the 2.0 and 2.1 prereleases before 2.0.0-rc.3 and 2.1.0-preview - can therefore accept ambiguous commitments if their own logic assumes a one-to-one mapping between the supplied bytes and the verified elements. This is a moderate input-validation issue (CWE-20) that does not forge or bypass the underlying Halo2 proof check; no public exploit has been identified at time of analysis, and the network-reachable path is unauthenticated per the CVSS vector (PR:N).
Ethereum Solidity v0.8.14 contains an assertion failure via SMTEncoder::indexOrMemberAssignment() at SMTEncoder.cpp. Rated medium severity (CVSS 5.5), this vulnerability is no authentication required, low attack complexity. Public exploit code available and no vendor patch available.
OpenVM's OpenVmHalo2Verifier Solidity wrapper accepts non-canonical app commitments: verify() takes appExeCommit and appVmCommit as raw bytes32 without rejecting values greater than or equal to the BN254 scalar field modulus (0x30644e72...f0000001), so the byte-level input a caller supplies can differ from the field element the verifier arithmetic actually consumes. Applications built on the wrapper - OpenVM SDK releases before 1.7.0 in the 1.x line, plus the 2.0 and 2.1 prereleases before 2.0.0-rc.3 and 2.1.0-preview - can therefore accept ambiguous commitments if their own logic assumes a one-to-one mapping between the supplied bytes and the verified elements. This is a moderate input-validation issue (CWE-20) that does not forge or bypass the underlying Halo2 proof check; no public exploit has been identified at time of analysis, and the network-reachable path is unauthenticated per the CVSS vector (PR:N).
Ethereum Solidity v0.8.14 contains an assertion failure via SMTEncoder::indexOrMemberAssignment() at SMTEncoder.cpp. Rated medium severity (CVSS 5.5), this vulnerability is no authentication required, low attack complexity. Public exploit code available and no vendor patch available.