Unknown · Go-Merkledag · CVE-2022-23495
**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.