CVE-2021-41153 Specification non-compliance in JUMPI
Incorrect JUMPI opcode execution order in the evm crate causes consensus divergence on Ethereum mainnet, requiring an immediate library upgrade.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2021-41153?
CVE-2021-41153 is a high-severity vulnerability in rust-blockchain evm, published on 18 Oct 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
The evm crate is a pure Rust implementation of Ethereum Virtual Machine. In `evm` crate `< 0.31.0`, `JUMPI` opcode's condition is checked after the destination validity check. However, according to Geth and OpenEthereum, the condition check should happen before the destination validity check. This is a **high** severity security advisory if you use `evm` crate for Ethereum mainnet. In this case, you should update your library dependency immediately to on or after `0.31.0`. This is a **low** severity security advisory if you use `evm` crate in Frontier or in a standalone blockchain, because there's no security exploit possible with this advisory. It is **not** recommended to update to on or after `0.31.0` until all the normal chain upgrade preparations have been done. If you use Frontier or other `pallet-evm` based Substrate blockchain, please ensure to update your `spec_version` before updating this. For other blockchains, please make sure to follow a hard-fork process before you update this.
Weakness: CWE-670
Which versions are affected by CVE-2021-41153?
2 open source packages ship an affected version, including evm. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
evm crates.io | All versions | 0.31.0 |
evm crates.io | All versions | 0.31.0 |
Products include Evm Project Evm.
How do I fix CVE-2021-41153?
Upgrade evm to 0.31.0 or later.
Is CVE-2021-41153 being exploited?
There is no known exploitation of CVE-2021-41153 in the wild and no public exploit code.
Other vulnerabilities in rust-blockchain evm
Sources
Also known as GHSA-pvh2-pj76-4m96.