GHSA-vj62-g63v-f8mf

Suggest an improvement
Source
https://github.com/advisories/GHSA-vj62-g63v-f8mf
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/10/GHSA-vj62-g63v-f8mf/GHSA-vj62-g63v-f8mf.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-vj62-g63v-f8mf
Aliases
Published
2021-10-13T18:53:38Z
Modified
2024-10-24T21:53:15Z
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
Validity check missing in Frontier
Details

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.

Database specific
{
    "nvd_published_at": "2021-10-13T16:15:00Z",
    "cwe_ids": [
        "CWE-20"
    ],
    "severity": "MODERATE",
    "github_reviewed": true,
    "github_reviewed_at": "2021-10-13T17:34:31Z"
}
References

Affected packages

crates.io / pallet-ethereum

Package

Name
pallet-ethereum
View open source insights on deps.dev
Purl
pkg:cargo/pallet-ethereum

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Last affected
3.0.0