{"id":"CVE-2021-29511","aliases":["EUVD-2024-0247","GHSA-4jwq-572w-4388"],"status":"published","title":"Memory over-allocation in evm crate","description":"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, \u003e=0.26.1`. There are no workarounds. Please upgrade your `evm` crate version.","severity":{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.0128,"percentile":0.704,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-770","CWE-787"],"published":"2021-05-12T17:15:11Z","modified":"2026-10-24T10:50:08Z","fixes":[{"ecosystem":"crates.io","package":"evm","fixed_in":["0.21.1","0.22.1","0.23.1","0.24.1","0.25.1","0.26.1"],"sources":["ghsa","osv"]},{"ecosystem":"crates.io","package":"evm-core","fixed_in":["0.21.1","0.22.1","0.23.1","0.24.1","0.25.1","0.26.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"evm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.21.0"},{"fixed":"0.21.1"}]}]},{"source":"ghsa","ecosystem":"crates.io","package":"evm-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.21.0"},{"fixed":"0.21.1"}]}]},{"source":"ghsa","ecosystem":"crates.io","package":"evm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.22.0"},{"last_affected":"0.22.0"},{"fixed":"0.22.1"}]}],"versions":["0.22.0"]},{"source":"ghsa","ecosystem":"crates.io","package":"evm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.23.0"},{"last_affected":"0.23.0"},{"fixed":"0.23.1"}]}],"versions":["0.23.0"]},{"source":"ghsa","ecosystem":"crates.io","package":"evm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.24.0"},{"last_affected":"0.24.0"},{"fixed":"0.24.1"}]}],"versions":["0.24.0"]},{"source":"ghsa","ecosystem":"crates.io","package":"evm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.25.0"},{"last_affected":"0.25.0"},{"fixed":"0.25.1"}]}],"versions":["0.25.0"]},{"source":"ghsa","ecosystem":"crates.io","package":"evm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.26.0"},{"last_affected":"0.26.0"},{"fixed":"0.26.1"}]}],"versions":["0.26.0"]},{"source":"ghsa","ecosystem":"crates.io","package":"evm-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.22.0"},{"last_affected":"0.22.0"},{"fixed":"0.22.1"}]}],"versions":["0.22.0"]},{"source":"ghsa","ecosystem":"crates.io","package":"evm-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.23.0"},{"last_affected":"0.23.0"},{"fixed":"0.23.1"}]}],"versions":["0.23.0"]},{"source":"ghsa","ecosystem":"crates.io","package":"evm-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.24.0"},{"last_affected":"0.24.0"},{"fixed":"0.24.1"}]}],"versions":["0.24.0"]},{"source":"ghsa","ecosystem":"crates.io","package":"evm-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.25.0"},{"last_affected":"0.25.0"},{"fixed":"0.25.1"}]}],"versions":["0.25.0"]},{"source":"ghsa","ecosystem":"crates.io","package":"evm-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.26.0"},{"last_affected":"0.26.0"},{"fixed":"0.26.1"}]}],"versions":["0.26.0"]},{"source":"osv","ecosystem":"crates.io","package":"evm","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.21.1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"evm-core","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.21.1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"evm","ranges":[{"type":"SEMVER","events":[{"introduced":"0.22.0"},{"fixed":"0.22.1"}]}],"versions":["0.22.0"]},{"source":"osv","ecosystem":"crates.io","package":"evm","ranges":[{"type":"SEMVER","events":[{"introduced":"0.23.0"},{"fixed":"0.23.1"}]}],"versions":["0.23.0"]},{"source":"osv","ecosystem":"crates.io","package":"evm","ranges":[{"type":"SEMVER","events":[{"introduced":"0.24.0"},{"fixed":"0.24.1"}]}],"versions":["0.24.0"]},{"source":"osv","ecosystem":"crates.io","package":"evm","ranges":[{"type":"SEMVER","events":[{"introduced":"0.25.0"},{"fixed":"0.25.1"}]}],"versions":["0.25.0"]},{"source":"osv","ecosystem":"crates.io","package":"evm","ranges":[{"type":"SEMVER","events":[{"introduced":"0.26.0"},{"fixed":"0.26.1"}]}],"versions":["0.26.0"]},{"source":"osv","ecosystem":"crates.io","package":"evm-core","ranges":[{"type":"SEMVER","events":[{"introduced":"0.22.0"},{"fixed":"0.22.1"}]}],"versions":["0.22.0"]},{"source":"osv","ecosystem":"crates.io","package":"evm-core","ranges":[{"type":"SEMVER","events":[{"introduced":"0.23.0"},{"fixed":"0.23.1"}]}],"versions":["0.23.0"]},{"source":"osv","ecosystem":"crates.io","package":"evm-core","ranges":[{"type":"SEMVER","events":[{"introduced":"0.24.0"},{"fixed":"0.24.1"}]}],"versions":["0.24.0"]},{"source":"osv","ecosystem":"crates.io","package":"evm-core","ranges":[{"type":"SEMVER","events":[{"introduced":"0.25.0"},{"fixed":"0.25.1"}]}],"versions":["0.25.0"]},{"source":"osv","ecosystem":"crates.io","package":"evm-core","ranges":[{"type":"SEMVER","events":[{"introduced":"0.26.0"},{"fixed":"0.26.1"}]}],"versions":["0.26.0"]}],"products":[{"vendor":"evm_project","product":"evm"},{"vendor":"rust-blockchain","product":"evm"}],"references":[{"url":"https://github.com/rust-blockchain/evm/security/advisories/GHSA-4jwq-572w-4388","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/rust-blockchain/evm/commit/19ade858c430ab13eb562764a870ac9f8506f8dd","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://crates.io/crates/evm","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-29511","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-4jwq-572w-4388"}],"sources":{"cve":[{"id":"CVE-2021-29511","title":"Memory over-allocation in evm crate","description":"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, \u003e=0.26.1`. There are no workarounds. Please upgrade your `evm` crate version.","status":"published","published":"2021-05-12T17:15:11Z","modified":"2024-08-03T22:11:05.441Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T14:33:06.32268Z"}],"euvd":[{"id":"EUVD-2024-0247","description":"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, \u003e=0.26.1`. There are no workarounds. Please upgrade your `evm` crate version.","status":"published","published":"2021-05-12T17:15:11Z","modified":"2024-08-03T22:11:05Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-03T03:24:44.540278Z"}],"ghsa":[{"id":"GHSA-4jwq-572w-4388","title":"Memory over-allocation in evm crate","description":"### Impact\nPrior to the patch, when executing specific EVM opcodes related to memory operations that use `evm_core::Memory::copy_large`, the crate can over-allocate memory when it is not needed, making it possible for an attacker to perform denial-of-service attack.\n\n### Patches\nThe flaw was corrected in commit `19ade85`. Users should upgrade to `==0.21.1, ==0.23.1, ==0.24.1, ==0.25.1, \u003e=0.26.1`.\n\n### Workarounds\nNone. Please upgrade your `evm` crate version\n\n### References\nFix commit: https://github.com/rust-blockchain/evm/commit/19ade858c430ab13eb562764a870ac9f8506f8dd\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [evm repo](https://github.com/rust-blockchain/evm)\n* Email [Wei](mailto:wei@that.world)\n","status":"published","published":"2024-01-30T23:55:38Z","modified":"2024-01-30T23:55:43Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-770","CWE-787"],"updated_at":"2026-11-02T14:37:34.405364Z"}],"nvd":[{"id":"CVE-2021-29511","description":"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, \u003e=0.26.1`. There are no workarounds. Please upgrade your `evm` crate version.","status":"published","published":"2021-05-12T18:15:08.527Z","modified":"2026-06-17T03:47:48.35Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"primary"},{"version":"2.0","score":4,"vector":"AV:N/AC:L/Au:S/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-770","CWE-787"],"updated_at":"2026-11-02T14:06:53.343329Z"}],"osv":[{"id":"CVE-2021-29511","description":"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, \u003e=0.26.1`. There are no workarounds. Please upgrade your `evm` crate version.","status":"published","published":"2021-05-12T18:15:08.527Z","modified":"2026-10-24T10:50:08.183694736Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:44:19.129331Z"},{"id":"GHSA-4jwq-572w-4388","title":"Memory over-allocation in evm crate","description":"### Impact\nPrior to the patch, when executing specific EVM opcodes related to memory operations that use `evm_core::Memory::copy_large`, the crate can over-allocate memory when it is not needed, making it possible for an attacker to perform denial-of-service attack.\n\n### Patches\nThe flaw was corrected in commit `19ade85`. Users should upgrade to `==0.21.1, ==0.23.1, ==0.24.1, ==0.25.1, \u003e=0.26.1`.\n\n### Workarounds\nNone. Please upgrade your `evm` crate version\n\n### References\nFix commit: https://github.com/rust-blockchain/evm/commit/19ade858c430ab13eb562764a870ac9f8506f8dd\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [evm repo](https://github.com/rust-blockchain/evm)\n* Email [Wei](mailto:wei@that.world)\n","status":"published","published":"2024-01-30T23:55:38Z","modified":"2026-07-08T06:27:57.379380528Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-770","CWE-787"],"updated_at":"2026-11-02T15:46:37.148947Z"}]}}
