Mend.io Vulnerability Database
The largest open source vulnerability database
What is a Vulnerability ID?
New vulnerability? Tell us about it!
CVE-2022-23495
December 08, 2022
go-merkledag implements the 'DAGService' interface and adds two ipld node types, Protobuf and Raw for the ipfs project. A "ProtoNode" may be modified in such a way as to cause various encode errors which will trigger a panic on common method calls that don't allow for error returns. A "ProtoNode" should only be able to encode to valid DAG-PB, attempting to encode invalid DAG-PB forms will result in an error from the codec. Manipulation of an existing (newly created or decoded) "ProtoNode" using the modifier methods did not account for certain states that would place the "ProtoNode" into an unencodeable form. Due to conformance with the ""github.com/ipfs/go-block-format#Block"" (https://pkg.go.dev/github.com/ipfs/go-block-format#Block) and ""github.com/ipfs/go-ipld-format#Node"" (https://pkg.go.dev/github.com/ipfs/go-ipld-format#Node) interfaces, certain methods, which internally require a re-encode if state has changed, will panic due to the inability to return an error. This issue has been addressed across a number of pull requests. Users are advised to upgrade to version 0.8.1 for a complete set of fixes. Users unable to upgrade may attempt to mitigate this issue by sanitising inputs when allowing user-input to set a new "CidBuilder" on a "ProtoNode" and by sanitising "Tsize" ("Link#Size") values such that they are a reasonable byte-size for sub-DAGs where derived from user-input.
Additional Notes
The description of this vulnerability differs from MITRE.
Do you need more information?
Contact Us
CVSS v4
Base Score:
8.7
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
NONE
User Interaction
NONE
Vulnerable System Confidentiality
NONE
Vulnerable System Integrity
NONE
Vulnerable System Availability
HIGH
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
7.5
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Weakness Type (CWE)
Improper Handling of Exceptional Conditions
Unchecked Return Value
EPSS
Base Score:
2.16