CVE-2022-29219 in Lodestar
Сводка
по VulDB • 06.06.2026
Lodestar представляет собой реализацию спецификации Ethereum Consensus на языке TypeScript. До версии 0.36.0 существует риск разделения консенсуса (consensus split) при включении в блокчейн злонамеренно сформированных объектов `AttesterSlashing` или `ProposerSlashing`. Поскольку разработчики представляют значения типа `uint64` как нативные числа JavaScript (`number`s), возникает проблема, когда на цепочку попадают переменные со значениями `uint64`, превышающими 2^53. В таких случаях Lodestar может считать валидные объекты `AttesterSlashing` или `ProposerSlashing` невалидными из-за ошибок округления при работе с большими числами (`number`). Это приводит к разделению консенсуса, когда узлы Lodestar отклоняются (forked away) от основной сети. Аналогичным образом Lodestar может считать валидным недействительный `ProposerSlashing`, включая его в предлагаемые блоки, которые сеть сочтет невалидными. Версия 0.36.0 содержит исправление этой проблемы. В качестве обходного пути используйте тип `BigInt` для представления значений `Slot` и `Epoch` в объектах `AttesterSlashing` и `ProposerSlashing`. Тип `BigInt` слишком медленный для использования во всех случаях с `Slot` и `Epoch`, поэтому его следует аккуратно применять только там, где это необходимо для обеспечения консенсуса.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.