PT-2022-16028 · Unknown · Go-Merkledag

Mrd0Ll4R

·

Publicado

2022-12-08

·

Atualizado

2022-12-22

·

CVE-2022-23495

CVSS v3.1

7.5

Alta

VetorAV: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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2022-23495
GHSA-X39J-H85H-3F46
GO-2022-1155

Produtos afetados

Go-Merkledag