What’s Vulnerable › Vulnerabilities
CVE-2024-34704: era-compiler-solidity contains a `xor(zext(cmp), -1)` misoptimization
- Severity: medium (CVSS 5.9 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.5% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-05-14 · updated 2026-06-17
- Weakness: CWE-682
Description
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 perform this transformation, the second operand of XOR should be a constant representing the true value. However, it was incorrectly assumed that -1 represents the true value, when in fact, 1 is the correct representation, so this transformation for this case should be skipped. This vulnerability is fixed in 1.4.1.
Affected products
- matter-labs era-compiler-solidity: from 1.2.0 before 1.4.1 — fixed in 1.4.1
How to fix
Upgrade to a fixed version: matter-labs era-compiler-solidity 1.4.1. Check the vendor advisory for mitigations.
References
- https://github.com/matter-labs/era-compiler-solidity/security/advisories/GHSA-22pj-7cvw-r3gc
- https://github.com/matter-labs/era-compiler-solidity/security/advisories/GHSA-22pj-7cvw-r3gc
Get alerted when CVE-2024-34704 or the next vulnerability affects your stack