Vulnerability HighRUSTSEC-2022-0083 · evm
RUSTSEC-2022-0083: evm incorrect state transition
Short answerA security vulnerability in the evm crate: evm incorrect state transition. High severity (CVSS 7.5). Fixed in 0.36.0: update to a fixed version.
| Crate | evm |
|---|---|
| Type | Vulnerability (crypto-failure) |
| Affected versions | Before 0.36.0. |
| Fixed in | 0.36.0 |
| Severity | High, CVSS 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| Published | 2022-10-25 |
| Last changed | 2023-11-08 |
| Also known as | CVE-2022-39354, GHSA-hhc4-47rh-cr34 |
What to do
- See which version you have:
cargo tree -i evm(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p evm. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for exampleevm = "0.36.0") or update the dependency that pulls it in. - Check again with
cargo audit, or paste your Cargo.lock into our Cargo.toml checker.
Details from the advisory
SputnikVM, also called evm, is a Rust implementation of Ethereum Virtual Machine.
A custom stateful precompile can use the is_static parameter to determine if the call is executed in a static context (via STATICCALL), and thus decide if stateful operations should be done.
Prior to version 0.36.0, the passed is_static parameter was incorrect -- it was only set to true if the call came from a direct STATICCALL opcode.
However, once a static call context is entered, it should stay static. The issue only impacts custom precompiles that actually uses is_static.
For those affected, the issue can lead to possible incorrect state transitions.
References
- Package: crates.io/crates/evm
- Advisory: rustsec.org/advisories/RUSTSEC-2022-0083.html
- Web: github.com/rust-blockchain/evm/pull/133
From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.
Other advisories for evm
- VulnerabilityGHSA-27wg-99g8-2v4v · 2024-01-03Rust EVM erroneousle handles `record_external_operation` error return
- VulnerabilityGHSA-4jwq-572w-4388 · 2024-01-30Memory over-allocation in evm crate
- VulnerabilityGHSA-4jwq-572w-4388 · 2024-01-30Memory over-allocation in evm crate
- VulnerabilityGHSA-4jwq-572w-4388 · 2024-01-30Memory over-allocation in evm crate
- VulnerabilityGHSA-4jwq-572w-4388 · 2024-01-30Memory over-allocation in evm crate
- VulnerabilityGHSA-4jwq-572w-4388 · 2024-01-30Memory over-allocation in evm crate
- VulnerabilityGHSA-4jwq-572w-4388 · 2024-01-30Memory over-allocation in evm crate
- VulnerabilityGHSA-pvh2-pj76-4m96 · 2021-10-19Specification non-compliance in JUMPI
Up next
Same crateevm: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?