GitHub Advisoryadvisory · crates.io
GHSA-vj62-g63v-f8mf Validity check missing in Frontier
MEDIUM
Official page ↗
- Aliases
- CVE-2021-41138
- Ecosystem
- crates.io
- Packages
- pallet-ethereum
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
- Weaknesses
- CWE-20
- Reviewed
- 2021-10-13
Affected packages
• crates.io pallet-ethereum: <= 3.0.0 (no fix yet)
Description
Impact
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.
Patches
The issue is patched in commit 146bb48849e5393004be5c88beefe76fdf009aba.
References
Patch PR: https://github.com/paritytech/frontier/pull/495
For more information
If you have any questions or comments about this advisory:
• Open an issue in Frontier repo
Special thanks
Special thanks to @librelois, @nanocryk and the Moonbeam team for reporting and fixing this security vulnerability.
Related
Alias · CVE (1)
- CVE-2021-41138 Frontier is Substrate's Ethereum compatibility layer. vulnerability
Weakness · CWE (1)
- CWE-20 Improper Input Validation weakness
References
- https://github.com/paritytech/frontier/security/advisories/GHSA-vj62-g63v-f8mf web
- https://nvd.nist.gov/vuln/detail/CVE-2021-41138 advisory
- https://github.com/paritytech/frontier/pull/495 web
- https://github.com/paritytech/frontier/pull/497 web
- https://github.com/paritytech/frontier/commit/146bb48849e5393004be5c88beefe76fdf009aba web
- https://github.com/polkadot-evm/frontier package