CVE-2022-29219 Details
Description
Lodestar is a TypeScript implementation of the Ethereum Consensus specification. Prior to version 0.36.0, there is a possible consensus split given maliciously-crafted `AttesterSlashing` or `ProposerSlashing` being included on-chain. Because the developers represent `uint64` values as native javascript `number`s, there is an issue when those variables with large (greater than 2^53) `uint64` values are included on chain. In those cases, Lodestar may view valid_`AttesterSlashing` or `ProposerSlashing` as invalid, due to rounding errors in large `number` values. This causes a consensus split, where Lodestar nodes are forked away from the main network. Similarly, Lodestar may consider invalid `ProposerSlashing` as valid, thus including in proposed blocks that will be considered invalid by the network. Version 0.36.0 contains a fix for this issue. As a workaround, use `BigInt` to represent `Slot` and `Epoch` values in `AttesterSlashing` and `ProposerSlashing` objects. `BigInt` is too slow to be used in all `Slot` and `Epoch` cases, so one may carefully use `BigInt` just where necessary for consensus.
A consensus split vulnerability has been identified in ChainSafe Lodestar, a TypeScript implementation of the Ethereum Consensus specification, prior to version 0.36.0. The issue arises from the handling of 'uint64' values, which are represented as native JavaScript numbers. When these large 'uint64' values, exceeding 2^53, are included on-chain, Lodestar may incorrectly validate 'AttesterSlashing' or 'ProposerSlashing' data. This misinterpretation, caused by rounding errors in large numbers, can lead to a consensus split, where Lodestar nodes diverge from the main network. Additionally, Lodestar might mistakenly validate 'ProposerSlashing' as invalid, causing proposed blocks to be rejected by the network.
Users can upgrade to Lodestar version 0.36.0 or later, which addresses this vulnerability. As an alternative, 'BigInt' can be used to represent 'Slot' and 'Epoch' values in 'AttesterSlashing' and 'ProposerSlashing' objects, although this approach requires careful application to avoid performance issues.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Apr 23, 2025References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/ChainSafe/lodestar/pull/3977 | CVE | PatchThird Party Advisory |
| https://github.com/ChainSafe/lodestar/releases/tag/v0.36.0 | CVE | Release NotesThird Party Advisory |
| https://github.com/ChainSafe/lodestar/security/advisories/GHSA-cvj7-5f3c-9vg9 | CVE | PatchThird Party Advisory |
| https://github.com/ChainSafe/lodestar/pull/3977 | [email protected] | PatchThird Party Advisory |
| https://github.com/ChainSafe/lodestar/releases/tag/v0.36.0 | [email protected] | Release NotesThird Party Advisory |
| https://github.com/ChainSafe/lodestar/security/advisories/GHSA-cvj7-5f3c-9vg9 | [email protected] | PatchThird Party Advisory |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-190 | Integer Overflow or Wraparound | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| chainsafe lodestar | < 0.36.0 |
CPE
Remediation
| |
Change History
5 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | [email protected] |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| Nov 21, 2024 | CVE Modified | CVE |
| May 14, 2024 | CVE Modified | [email protected] |
| Jun 7, 2022 | Initial Analysis | [email protected] |