6 results (0.008 seconds)

CVSS: 7.5EPSS: 0%CPEs: 1EXPL: 0

Frontier is Substrate's Ethereum compatibility layer. Prior to commit aea528198b3b226e0d20cce878551fd4c0e3d5d0, at the end of a contract execution, when opcode SUICIDE marks a contract to be deleted, the software uses `storage::remove_prefix` (now renamed to `storage::clear_prefix`) to remove all storages associated with it. This is a single IO primitive call passing the WebAssembly boundary. For large contracts, the call (without providing a `limit` parameter) can be slow. In addition, for parachains, all storages to be deleted will be part of the PoV, which easily exceed relay chain PoV size limit. • https://github.com/paritytech/frontier/commit/aea528198b3b226e0d20cce878551fd4c0e3d5d0 https://github.com/paritytech/frontier/pull/1212 https://github.com/paritytech/frontier/security/advisories/GHSA-gc88-2gvv-gp3v • CWE-770: Allocation of Resources Without Limits or Throttling •

CVSS: 7.5EPSS: 0%CPEs: 1EXPL: 0

Frontier is an Ethereum compatibility layer for Substrate. Frontier's `modexp` precompile uses `num-bigint` crate under the hood. In the implementation prior to pull request 1017, the cases for modulus being even and modulus being odd are treated separately. Odd modulus uses the fast Montgomery multiplication, and even modulus uses the slow plain power algorithm. This gas cost discrepancy was not accounted for in the `modexp` precompile, leading to possible denial of service attacks. No fixes for `num-bigint` are currently available, and thus this issue is fixed in the short term by raising the gas costs for even modulus, and in the long term fixing it in `num-bigint` or switching to another modexp implementation. • https://github.com/paritytech/frontier/commit/5af12e94d7dfc8a0208a290643a800f55de7b219 https://github.com/paritytech/frontier/pull/1017 https://github.com/paritytech/frontier/security/advisories/GHSA-fcmm-54jp-7vf6 https://github.com/rust-num/num-bigint/blob/6f2b8e0fc218dbd0f49bebb8db2d1a771fe6bafa/src/biguint/power.rs#L134 • CWE-682: Incorrect Calculation •

CVSS: 5.3EPSS: 0%CPEs: 1EXPL: 0

Frontier is an Ethereum compatibility layer for Substrate. Prior to commit d3beddc6911a559a3ecc9b3f08e153dbe37a8658, the worst case weight was always accounted as the block weight for all cases. In case of large EVM gas refunds, this can lead to block spamming attacks -- the adversary can construct blocks with transactions that have large amount of refunds or unused gases with reverts, and as a result inflate up the chain gas prices. The impact of this issue is limited in that the spamming attack would still be costly for any adversary, and it has no ability to alter any chain state. This issue has been patched in commit d3beddc6911a559a3ecc9b3f08e153dbe37a8658. • https://github.com/paritytech/frontier/pull/851 https://github.com/paritytech/frontier/security/advisories/GHSA-v57h-6hmh-g2p4 • CWE-682: Incorrect Calculation •

CVSS: 6.5EPSS: 0%CPEs: 1EXPL: 0

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) •

CVSS: 5.3EPSS: 0%CPEs: 1EXPL: 0

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 •