Memory over-allocation in evm crate
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-770.
Summary
evm is a pure Rust implementation of Ethereum Virtual Machine. Prior to the patch, when executing specific EVM opcodes related to memory operations that use `evm_core::Memory::copy_large`, the `evm` crate can over-allocate memory when it is not needed, making it possible for an attacker to perform denial-of-service attack. The flaw was corrected in commit `19ade85`. Users should upgrade to `==0.21.1, ==0.23.1, ==0.24.1, ==0.25.1, >=0.26.1`. There are no workarounds. Please upgrade your `evm` crate version.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| rust-blockchain | evm | before 0.21.1; = 0.22.0; = 0.23.0; = 0.24.0; = 0.25.0 | 0.21.1 | Patch available | CNA |
| — | evm (crates.io) | before 0.21.1 | 0.21.1 | Patch available | GHSA-4jwq-572w-4388 |
| — | evm-core (crates.io) | before 0.21.1 | 0.21.1 | Patch available | GHSA-4jwq-572w-4388 |
| — | evm (crates.io) | 0.22.0 to before 0.22.1 | 0.22.1 | Patch available | GHSA-4jwq-572w-4388 |
| — | evm (crates.io) | 0.23.0 to before 0.23.1 | 0.23.1 | Patch available | GHSA-4jwq-572w-4388 |
| — | evm (crates.io) | 0.24.0 to before 0.24.1 | 0.24.1 | Patch available | GHSA-4jwq-572w-4388 |
| — | evm (crates.io) | 0.25.0 to before 0.25.1 | 0.25.1 | Patch available | GHSA-4jwq-572w-4388 |
| — | evm (crates.io) | 0.26.0 to before 0.26.1 | 0.26.1 | Patch available | GHSA-4jwq-572w-4388 |
| — | evm-core (crates.io) | 0.22.0 to before 0.22.1 | 0.22.1 | Patch available | GHSA-4jwq-572w-4388 |
| — | evm-core (crates.io) | 0.23.0 to before 0.23.1 | 0.23.1 | Patch available | GHSA-4jwq-572w-4388 |
| — | evm-core (crates.io) | 0.24.0 to before 0.24.1 | 0.24.1 | Patch available | GHSA-4jwq-572w-4388 |
| — | evm-core (crates.io) | 0.25.0 to before 0.25.1 | 0.25.1 | Patch available | GHSA-4jwq-572w-4388 |
| — | evm-core (crates.io) | 0.26.0 to before 0.26.1 | 0.26.1 | Patch available | GHSA-4jwq-572w-4388 |
- evm Vendorrust-blockchain Affected before 0.21.1; = 0.22.0; = 0.23.0; = 0.24.0; = 0.25.0 Fixed in 0.21.1 Patch available CNA
- evm (crates.io) Vendor— Affected before 0.21.1 Fixed in 0.21.1 Patch available GHSA-4jwq-572w-4388
- evm-core (crates.io) Vendor— Affected before 0.21.1 Fixed in 0.21.1 Patch available GHSA-4jwq-572w-4388
- evm (crates.io) Vendor— Affected 0.22.0 to before 0.22.1 Fixed in 0.22.1 Patch available GHSA-4jwq-572w-4388
- evm (crates.io) Vendor— Affected 0.23.0 to before 0.23.1 Fixed in 0.23.1 Patch available GHSA-4jwq-572w-4388
- evm (crates.io) Vendor— Affected 0.24.0 to before 0.24.1 Fixed in 0.24.1 Patch available GHSA-4jwq-572w-4388
- evm (crates.io) Vendor— Affected 0.25.0 to before 0.25.1 Fixed in 0.25.1 Patch available GHSA-4jwq-572w-4388
- evm (crates.io) Vendor— Affected 0.26.0 to before 0.26.1 Fixed in 0.26.1 Patch available GHSA-4jwq-572w-4388
- evm-core (crates.io) Vendor— Affected 0.22.0 to before 0.22.1 Fixed in 0.22.1 Patch available GHSA-4jwq-572w-4388
- evm-core (crates.io) Vendor— Affected 0.23.0 to before 0.23.1 Fixed in 0.23.1 Patch available GHSA-4jwq-572w-4388
- evm-core (crates.io) Vendor— Affected 0.24.0 to before 0.24.1 Fixed in 0.24.1 Patch available GHSA-4jwq-572w-4388
- evm-core (crates.io) Vendor— Affected 0.25.0 to before 0.25.1 Fixed in 0.25.1 Patch available GHSA-4jwq-572w-4388
- evm-core (crates.io) Vendor— Affected 0.26.0 to before 0.26.1 Fixed in 0.26.1 Patch available GHSA-4jwq-572w-4388
CPE configurations NVD · 6
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:evm_project:evm:*:*:*:*:*:rust:*:* | up to 0.21.0 | Vulnerable | rust-blockchain |
| cpe:2.3:a:evm_project:evm:0.22.0:*:*:*:*:rust:*:* | 0.22.0 | Vulnerable | rust-blockchain |
| cpe:2.3:a:evm_project:evm:0.23.0:*:*:*:*:rust:*:* | 0.23.0 | Vulnerable | rust-blockchain |
| cpe:2.3:a:evm_project:evm:0.24.0:*:*:*:*:rust:*:* | 0.24.0 | Vulnerable | rust-blockchain |
| cpe:2.3:a:evm_project:evm:0.25.0:*:*:*:*:rust:*:* | 0.25.0 | Vulnerable | rust-blockchain |
| cpe:2.3:a:evm_project:evm:0.26.0:*:*:*:*:rust:*:* | 0.26.0 | Vulnerable | rust-blockchain |
- cpe:2.3:a:evm_project:evm:*:*:*:*:*:rust:*:* Versions up to 0.21.0 Vulnerable ·rust-blockchain
- cpe:2.3:a:evm_project:evm:0.22.0:*:*:*:*:rust:*:* Versions 0.22.0 Vulnerable ·rust-blockchain
- cpe:2.3:a:evm_project:evm:0.23.0:*:*:*:*:rust:*:* Versions 0.23.0 Vulnerable ·rust-blockchain
- cpe:2.3:a:evm_project:evm:0.24.0:*:*:*:*:rust:*:* Versions 0.24.0 Vulnerable ·rust-blockchain
- cpe:2.3:a:evm_project:evm:0.25.0:*:*:*:*:rust:*:* Versions 0.25.0 Vulnerable ·rust-blockchain
- cpe:2.3:a:evm_project:evm:0.26.0:*:*:*:*:rust:*:* Versions 0.26.0 Vulnerable ·rust-blockchain
Remediation
- Fix · CNA evm (rust-blockchain) Fixed in 0.21.1
- Fix · GHSA-4jwq-572w-4388 evm (crates.io) Fixed in 0.21.1 Advisory →
- Fix · GHSA-4jwq-572w-4388 evm-core (crates.io) Fixed in 0.21.1 Advisory →
- Fix · GHSA-4jwq-572w-4388 evm (crates.io) Fixed in 0.22.1 Advisory →
- Fix · GHSA-4jwq-572w-4388 evm (crates.io) Fixed in 0.23.1 Advisory →
- Fix · GHSA-4jwq-572w-4388 evm (crates.io) Fixed in 0.24.1 Advisory →
- Fix · GHSA-4jwq-572w-4388 evm (crates.io) Fixed in 0.25.1 Advisory →
- Fix · GHSA-4jwq-572w-4388 evm (crates.io) Fixed in 0.26.1 Advisory →
- Fix · GHSA-4jwq-572w-4388 evm-core (crates.io) Fixed in 0.22.1 Advisory →
- Fix · GHSA-4jwq-572w-4388 evm-core (crates.io) Fixed in 0.23.1 Advisory →
- Fix · GHSA-4jwq-572w-4388 evm-core (crates.io) Fixed in 0.24.1 Advisory →
- Fix · GHSA-4jwq-572w-4388 evm-core (crates.io) Fixed in 0.25.1 Advisory →
- Fix · GHSA-4jwq-572w-4388 evm-core (crates.io) Fixed in 0.26.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2021-29511
- 2026-10-03 Alias added: GHSA-4jwq-572w-4388
References
More rust-blockchain Evm vulnerabilities
- TI-2021-17992 Specification non-compliance in JUMPI CVSS 3.1CRITICAL 9.8
- TI-2024-14354 Erroneous handling of `record_external_operation` error return CVSS 3.1HIGH 7.5
- TI-2022-18729 evm has incorrect is_static parameter for custom stateful precompiles CVSS 3.1HIGH 7.5
Sources
- CVE-2021-29511 · CVE Program
- CVE-2021-29511 · NVD
- FIRST EPSS
- GHSA-4jwq-572w-4388 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences