CVE Catalog

CVE-2023-22460

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Elevated risk
0.97%

59th percentile - higher than 59% of all known CVEs

Summary

go-ipld-prime is an implementation of the IPLD spec. When encoding data containing a Bytes kind Node, a Bytes token is passed to the JSON encoder, which panics because JSON should not encode binary data. This only affects the 'json' codec, not 'dag-json' or the decoder. The issue is fixed in v0.19.0.

Risk Assessment

Applications using the 'json' codec to process IPLD data may crash (panic) when encoding binary data, potentially causing service disruption.

Recommendation

Upgrade to version v0.19.0 or later. If upgrade is not possible, use the 'dag-json' codec, which can encode bytes.

Related vulnerabilities

Original NVD description (English source)

go-ipld-prime is an implementation of the InterPlanetary Linked Data (IPLD) spec interfaces, a batteries-included codec implementations of IPLD for CBOR and JSON, and tooling for basic operations on IPLD objects. Encoding data which contains a Bytes kind Node will pass a Bytes token to the JSON encoder which will panic as it doesn't expect to receive Bytes tokens. Such an encode should be treated as an error, as plain JSON should not be able to encode Bytes. This only impacts uses of the `json` codec. `dag-json` is not impacted. Use of `json` as a decoder is not impacted. This issue is fixed in v0.19.0. As a workaround, one may prefer the `dag-json` codec, which has the ability to encode bytes.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS