PT-2022-19471 · Lodestar · Lodestar

Philknows

·

Publicado

2022-05-24

·

Atualizado

2022-06-07

·

CVE-2022-29219

CVSS v3.1

7.5

Alta

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Nome do software vulnerável e versões afetadas
Versões do Lodestar anteriores à 0.36.0
Descrição
O problema está relacionado à representação de valores uint64 como numbers nativos do JavaScript no Lodestar, uma implementação em TypeScript da especificação de consenso do Ethereum. Quando valores uint64 maiores que 2^53 são incluídos na cadeia, o Lodestar pode considerar AttesterSlashing ou ProposerSlashing válidos como inválidos devido a erros de arredondamento em valores number grandes, causando uma divisão no consenso. Da mesma forma, o Lodestar pode considerar ProposerSlashing inválidos como válidos, incluindo-os em blocos propostos que serão considerados inválidos pela rede.
Recomendações
Como solução temporária, considere usar BigInt para representar valores Slot e Epoch em objetos AttesterSlashing e ProposerSlashing, utilizando BigInt com cuidado apenas onde for necessário para o consenso.
Para versões anteriores à 0.36.0, atualize para a versão 0.36.0 para resolver o problema.

Exploit

Correção

Integer Overflow

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2022-29219
GHSA-CVJ7-5F3C-9VG9

Produtos afetados

Lodestar