PT-2022-19471 · Lodestar · Lodestar
Philknows
·
Publicado
2022-05-24
·
Atualizado
2022-06-07
·
CVE-2022-29219
CVSS v3.1
7.5
Alta
| Vetor | AV: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
Produtos afetados
Lodestar