CVE-2022-21685 – Integer underflow in Frontier
https://notcve.org/view.php?id=CVE-2022-21685
Frontier is Substrate's Ethereum compatibility layer. Prior to commit number `8a93fdc6c9f4eb1d2f2a11b7ff1d12d70bf5a664`, a bug in Frontier's MODEXP precompile implementation can cause an integer underflow in certain conditions. This will cause a node crash for debug builds. For release builds (and production WebAssembly binaries), the impact is limited as it can only cause a normal EVM out-of-gas. Users who do not use MODEXP precompile in their runtime are not impacted. • https://github.com/paritytech/frontier/commit/8a93fdc6c9f4eb1d2f2a11b7ff1d12d70bf5a664 https://github.com/paritytech/frontier/pull/549 https://github.com/paritytech/frontier/security/advisories/GHSA-cjg2-2fjg-fph4 • CWE-191: Integer Underflow (Wrap or Wraparound) •
CVE-2021-41138 – Validity check for signed Frontier-specific extrinsic not called in block execution
https://notcve.org/view.php?id=CVE-2021-41138
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. • https://github.com/paritytech/frontier/commit/146bb48849e5393004be5c88beefe76fdf009aba https://github.com/paritytech/frontier/pull/497 https://github.com/paritytech/frontier/security/advisories/GHSA-vj62-g63v-f8mf • CWE-20: Improper Input Validation •
CVE-2021-39193 – Transaction validity oversight in pallet-ethereum
https://notcve.org/view.php?id=CVE-2021-39193
Frontier is Substrate's Ethereum compatibility layer. Prior to commit number 0b962f218f0cdd796dadfe26c3f09e68f7861b26, a bug in `pallet-ethereum` can cause invalid transactions to be included in the Ethereum block state in `pallet-ethereum` due to not validating the input data size. Any invalid transactions included this way have no possibility to alter the internal Ethereum or Substrate state. The transaction will appear to have be included, but is of no effect as it is rejected by the EVM engine. The impact is further limited by Substrate extrinsic size constraints. • https://github.com/paritytech/frontier/commit/0b962f218f0cdd796dadfe26c3f09e68f7861b26 https://github.com/paritytech/frontier/pull/465 https://github.com/paritytech/frontier/pull/465/commits/8a2b890a2fb477d5fedd0e4335b00623832849ae https://github.com/paritytech/frontier/security/advisories/GHSA-hw4v-5x4h-c3xm • CWE-20: Improper Input Validation CWE-1284: Improper Validation of Specified Quantity in Input •