{"answers":{"affected":"24 open source packages ship an affected version, including evm and evm-core. It affects 1 product.","exploited":"There is no known exploitation of CVE-2021-29511 in the wild and no public exploit code.","fix":"Upgrade evm to a fixed version for your release line: 0.21.1, 0.22.1, 0.23.1 or 0.24.1.","what":"CVE-2021-29511 is a medium-severity denial of service vulnerability in rust-blockchain evm, published on 12 May 2021. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2021-29511 and fix it if it is affected.\n\nWhat it is: CVE-2021-29511 is a medium-severity denial of service vulnerability in rust-blockchain evm, published on 12 May 2021. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2021-29511 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- evm (crates.io): affected all versions; fixed in 0.21.1\n- evm (crates.io): affected all versions; fixed in 0.21.1\n- evm (crates.io): affected from 0.22.0; fixed in 0.22.1\n- evm (crates.io): affected from 0.22.0; fixed in 0.22.1\n- evm (crates.io): affected from 0.23.0; fixed in 0.23.1\n- evm (crates.io): affected from 0.23.0; fixed in 0.23.1\n- evm (crates.io): affected from 0.24.0; fixed in 0.24.1\n- evm (crates.io): affected from 0.24.0; fixed in 0.24.1\n- evm (crates.io): affected from 0.25.0; fixed in 0.25.1\n- evm (crates.io): affected from 0.25.0; fixed in 0.25.1\n- evm (crates.io): affected from 0.26.0; fixed in 0.26.1\n- evm (crates.io): affected from 0.26.0; fixed in 0.26.1\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2021-29511/ (Markdown: https://insights.sbomify.com/CVE-2021-29511/index.md)","id":"CVE-2021-29511","markdown":"https://insights.sbomify.com/CVE-2021-29511/index.md","name":"CVE-2021-29511","record":{"aliases":["GHSA-4jwq-572w-4388"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"Rust EVM library","requires_auth":"low_privilege","summary":"An attacker can cause denial of service by triggering excessive memory allocation in the evm crate via specific EVM opcodes.","user_interaction":"not_required","vuln_class":"denial_of_service"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"evm","vendor":"evm_project"}],"cvss":{"score":6.5,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","version":"3.1"},"cwes":[{"id":"CWE-787","name":"Out-of-bounds Write"},{"id":"CWE-770","name":"Allocation of Resources Without Limits or Throttling"}],"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.","ecosystems":["crates.io"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"Memory over-allocation in evm crate","id":"CVE-2021-29511","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"crates.io","product":null,"products":[],"type":"denial_of_service","year":"2021"},"n_packages":24,"n_references":3,"next":{"headline":"Heap buffer overflow in `RaggedBinCount`","id":"CVE-2021-29512"},"packages":[{"ecosystem":"crates.io","fixed":["0.21.1"],"introduced":["0"],"last_affected":[],"package":"evm","purl":null,"source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.21.1"],"introduced":["0"],"last_affected":[],"package":"evm","purl":"pkg:cargo/evm","source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.22.1"],"introduced":["0.22.0"],"last_affected":[],"package":"evm","purl":null,"source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.22.1"],"introduced":["0.22.0"],"last_affected":[],"package":"evm","purl":"pkg:cargo/evm","source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.23.1"],"introduced":["0.23.0"],"last_affected":[],"package":"evm","purl":null,"source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.23.1"],"introduced":["0.23.0"],"last_affected":[],"package":"evm","purl":"pkg:cargo/evm","source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.24.1"],"introduced":["0.24.0"],"last_affected":[],"package":"evm","purl":null,"source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.24.1"],"introduced":["0.24.0"],"last_affected":[],"package":"evm","purl":"pkg:cargo/evm","source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.25.1"],"introduced":["0.25.0"],"last_affected":[],"package":"evm","purl":null,"source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.25.1"],"introduced":["0.25.0"],"last_affected":[],"package":"evm","purl":"pkg:cargo/evm","source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.26.1"],"introduced":["0.26.0"],"last_affected":[],"package":"evm","purl":null,"source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.26.1"],"introduced":["0.26.0"],"last_affected":[],"package":"evm","purl":"pkg:cargo/evm","source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.21.1"],"introduced":["0"],"last_affected":[],"package":"evm-core","purl":null,"source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.21.1"],"introduced":["0"],"last_affected":[],"package":"evm-core","purl":"pkg:cargo/evm-core","source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.22.1"],"introduced":["0.22.0"],"last_affected":[],"package":"evm-core","purl":null,"source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.22.1"],"introduced":["0.22.0"],"last_affected":[],"package":"evm-core","purl":"pkg:cargo/evm-core","source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.23.1"],"introduced":["0.23.0"],"last_affected":[],"package":"evm-core","purl":null,"source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.23.1"],"introduced":["0.23.0"],"last_affected":[],"package":"evm-core","purl":"pkg:cargo/evm-core","source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.24.1"],"introduced":["0.24.0"],"last_affected":[],"package":"evm-core","purl":null,"source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.24.1"],"introduced":["0.24.0"],"last_affected":[],"package":"evm-core","purl":"pkg:cargo/evm-core","source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.25.1"],"introduced":["0.25.0"],"last_affected":[],"package":"evm-core","purl":null,"source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.25.1"],"introduced":["0.25.0"],"last_affected":[],"package":"evm-core","purl":"pkg:cargo/evm-core","source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.26.1"],"introduced":["0.26.0"],"last_affected":[],"package":"evm-core","purl":null,"source":"GHSA-4jwq-572w-4388"},{"ecosystem":"crates.io","fixed":["0.26.1"],"introduced":["0.26.0"],"last_affected":[],"package":"evm-core","purl":"pkg:cargo/evm-core","source":"GHSA-4jwq-572w-4388"}],"prev":{"headline":"Use of \"infinity\" as an input to datetime and date fields causes infinite loop in pydantic","id":"CVE-2021-29510"},"products":["evm"],"published":"2021-05-12","related":[{"cvss_score":8.7,"headline":"Specification non-compliance in JUMPI","id":"CVE-2021-41153","kev_date_added":null,"published":"2021-10-18"},{"cvss_score":5.9,"headline":"Erroneous handling of `record_external_operation` error return","id":"CVE-2024-21629","kev_date_added":null,"published":"2024-01-02"},{"cvss_score":5.9,"headline":"evm has incorrect is_static parameter for custom stateful precompiles","id":"CVE-2022-39354","kev_date_added":null,"published":"2022-10-25"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2024-08-03","vendors":["rust-blockchain"]},"summary":"An attacker can cause denial of service by triggering excessive memory allocation in the evm crate via specific EVM opcodes.","url":"https://insights.sbomify.com/CVE-2021-29511/"}