GitHub Advisoryadvisory · Go

GHSA-c653-6hhg-9x92 go-ipld-prime/codec/json may panic if asked to encode bytes

MEDIUM Published 2023-01-05 Modified 2023-01-05 Official page ↗
Aliases
CVE-2023-22460
Ecosystem
Go
Packages
github.com/ipld/go-ipld-prime
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-20
Reviewed
2023-01-05

Affected packages

• Go github.com/ipld/go-ipld-prime: < 0.19.0 → fixed in 0.19.0

Description

`go-ipld-prime` is a series of Go interfaces for manipulating IPLD data and a Go module that contains the `go-ipld-prime/codec/json` codec. Impact 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 encoding 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. Patches Fixed in v0.19.0. Workarounds Prefer the "dag-json" codec which has the ability to encode bytes. References See fix in #472

Related

Alias · CVE (1)

  • CVE-2023-22460 go-ipld-prime is an implementation of the InterPlanetary Linked Data (IPLD) spec interfaces, a batteries-included codec implementations of… vulnerability

Weakness · CWE (1)

  • CWE-20 Improper Input Validation weakness

References