PT-2022-16028 · Unknown · Go-Merkledag
Mrd0Ll4R
·
Publicado
2022-12-08
·
Atualizado
2022-12-22
·
CVE-2022-23495
CVSS v3.1
7.5
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Nome do software vulnerável e versões afetadas
Versões do go-merkledag anteriores à 0.8.1
Descrição
Um
ProtoNode pode ser modificado de forma a causar vários erros de codificação, o que provocará um panic em chamadas de método comuns que não permitem o retorno de erros. Um ProtoNode só deve ser capaz de codificar para DAG-PB válido; tentar codificar formas inválidas de DAG-PB resultará em um erro do codec. A manipulação de um ProtoNode existente usando os métodos modificadores não levava em conta certos estados que colocariam o ProtoNode em uma forma não codificável. Devido à conformidade com as interfaces, certos métodos entrarão em pânico devido à incapacidade de retornar um erro. Além disso, o uso do método ProtoNode.SetCidBuilder() para definir um CidBuilder que não está funcionando pode fazer com que os mesmos métodos entrem em pânico, pois um novo CID é necessário, mas não pode ser criado.Recomendações
Para resolver o problema, atualize para a versão 0.8.1 para obter um conjunto completo de correções.
Para usuários que não possam atualizar, considere sanitizar as entradas ao permitir que a entrada do usuário defina um novo
CidBuilder em um ProtoNode e sanitizar os valores de Tsize (Link#Size) de modo que tenham um tamanho em bytes razoável para sub-DAGs quando derivados da entrada do usuário.Exploit
Correção
Unchecked Return Value
Improper Handling of Exceptional Conditions
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Go-Merkledag