CVE-2022-29219 in Lodestarinformation

Résumé

par VulDB • 06/06/2026

Lodestar est une implémentation en TypeScript de la spécification Ethereum Consensus. Avant la version 0.36.0, il existe un risque de scission du consensus (consensus split) si des objets `AttesterSlashing` ou `ProposerSlashing` malveillamment conçus sont inclus sur la chaîne. Étant donné que les développeurs représentent les valeurs `uint64` à l'aide des nombres natifs JavaScript (`number`s), un problème survient lorsque ces variables contenant de grandes valeurs `uint64` (supérieures à 2^53) sont intégrées sur la chaîne. Dans ce cas, Lodestar peut considérer comme invalides des objets `AttesterSlashing` ou `ProposerSlashing` pourtant valides, en raison d'erreurs d'arrondi liées aux grandes valeurs de type `number`. Cela provoque une scission du consensus, entraînant le fork des nœuds Lodestar par rapport au réseau principal. De même, Lodestar peut considérer comme valables des objets `ProposerSlashing` invalides, les incluant ainsi dans les blocs proposés qui seront rejetés par le reste du réseau. La version 0.36.0 contient une correction pour ce problème. En attendant, en guise de solution de contournement (workaround), utilisez `BigInt` pour représenter les valeurs `Slot` et `Epoch` dans les objets `AttesterSlashing` et `ProposerSlashing`. L'utilisation de `BigInt` étant trop lente pour couvrir tous les cas d'usage des champs `Slot` et `Epoch`, il est recommandé de l'utiliser avec précaution uniquement là où cela est nécessaire au maintien du consensus.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

GitHub, Inc.

Réserver

13/04/2022

Divulgation

24/05/2022

Modérer

accepté

Entrée

VDB-200666

CPE

prêt

EPSS

0.01291

KEV

non

Activités

très faible

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!