CVE-2021-41153
highpriority · track · 39EPSS 0.010 · 63 %ileEUUSEPSS · scored 2026-10-27
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.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · high–critical · 7.5–9.8
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (3)
Products and version ranges known to be affected.
advisories (1)
Vendor and ecosystem advisories describing this.
- GHSA-pvh2-pj76-4m96Specification non-compliance in JUMPI2021-10-19ghsa · osvUS
### Impact 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. ### Patches 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. ### Workarounds If you are dependent on an older version of `evm` and cannot update due to API interface changes, please contact Wei by email (wei@that.world), who will be happy to help you to publish patch releases for older `evm` versions. ### References Fix PR: https://github.com/rust-blockchain/evm/pull/67 ### For more information If you have any questions or comments about this advisory: * Open an issue in the `evm` repo. ### Special thanks Special thanks to @rakita for reporting this issue.
also known as (3)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (6)
External citations — patches, advisories, analysis.
- https://github.com/rust-blockchain/evm/pull/67cnnvd
- https://github.com/rust-blockchain/evm/security/advisories/GHSA-pvh2-pj76-4m96cnnvd
- https://github.com/rust-blockchain/evm/pull/67enisa_euvd
- https://github.com/rust-blockchain/evm/security/advisories/GHSA-pvh2-pj76-4m96enisa_euvd
- https://github.com/rust-blockchain/evm/pull/67PatchThird Party Advisorynvd
- https://github.com/rust-blockchain/evm/security/advisories/GHSA-pvh2-pj76-4m96PatchThird Party Advisorynvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan