CVE-2021-41138

Source
https://nvd.nist.gov/vuln/detail/CVE-2021-41138
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-41138.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2021-41138
Aliases
Withdrawn
2024-05-15T05:34:00.022140Z
Published
2021-10-13T16:15:07Z
Modified
2023-11-29T09:02:53.259217Z
Severity
  • 5.3 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N CVSS Calculator
Summary
[none]
Details

Frontier is Substrate's Ethereum compatibility layer. In the newly introduced signed Frontier-specific extrinsic for pallet-ethereum, a large part of transaction validation logic was only called in transaction pool validation, but not in block execution. Malicious validators can take advantage of this to put invalid transactions into a block. The attack is limited in that the signature is always validated, and the majority of the validation is done again in the subsequent pallet-evm execution logic. However, do note that a chain ID replay attack was possible. In addition, spamming attacks are of main concerns, while they are limited by Substrate block size limits and other factors. The issue is patched in commit 146bb48849e5393004be5c88beefe76fdf009aba.

References

Affected packages

Git / github.com/paritytech/frontier

Affected ranges

Type
GIT
Repo
https://github.com/paritytech/frontier
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Affected versions

fc-consensus-v1.*

fc-consensus-v1.0.0

fc-consensus-v2.*

fc-consensus-v2.0.0

fc-db-v1.*

fc-db-v1.0.0

fc-mapping-sync-v1.*

fc-mapping-sync-v1.0.0

fc-rpc-core-v1.*

fc-rpc-core-v1.0.0

fc-rpc-v1.*

fc-rpc-v1.0.0

fp-consensus-v1.*

fp-consensus-v1.0.0

fp-evm-v1.*

fp-evm-v1.0.0

fp-evm-v2.*

fp-evm-v2.0.0

fp-rpc-v1.*

fp-rpc-v1.0.0

fp-rpc-v2.*

fp-rpc-v2.0.0
fp-rpc-v2.1.0

fp-storage-v1.*

fp-storage-v1.0.0
fp-storage-v1.0.1

fp-storage-v2.*

fp-storage-v2.0.0

pallet-dynamic-fee-v1.*

pallet-dynamic-fee-v1.0.0

pallet-dynamic-fee-v2.*

pallet-dynamic-fee-v2.0.0

pallet-dynamic-fee-v3.*

pallet-dynamic-fee-v3.0.0

pallet-ethereum-v1.*

pallet-ethereum-v1.0.0

pallet-ethereum-v2.*

pallet-ethereum-v2.0.0

pallet-ethereum-v3.*

pallet-ethereum-v3.0.0

pallet-evm-precompile-blake2-v1.*

pallet-evm-precompile-blake2-v1.0.0

pallet-evm-precompile-bn128-v1.*

pallet-evm-precompile-bn128-v1.0.0

pallet-evm-precompile-dispatch-v1.*

pallet-evm-precompile-dispatch-v1.0.0

pallet-evm-precompile-ed25519-v1.*

pallet-evm-precompile-ed25519-v1.0.0

pallet-evm-precompile-modexp-v1.*

pallet-evm-precompile-modexp-v1.0.0

pallet-evm-precompile-sha3fips-v1.*

pallet-evm-precompile-sha3fips-v1.0.0

pallet-evm-precompile-simple-v1.*

pallet-evm-precompile-simple-v1.0.0

pallet-evm-v3.*

pallet-evm-v3.0.0

pallet-evm-v4.*

pallet-evm-v4.0.0

pallet-evm-v5.*

pallet-evm-v5.0.0