GitHub Advisoryadvisory · Go
GHSA-c653-6hhg-9x92 go-ipld-prime/codec/json may panic if asked to encode bytes
MEDIUM
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
- https://github.com/ipld/go-ipld-prime/security/advisories/GHSA-c653-6hhg-9x92 web
- https://nvd.nist.gov/vuln/detail/CVE-2023-22460 advisory
- https://github.com/ipld/go-ipld-prime/pull/472 web
- https://github.com/ipld/go-ipld-prime/commit/146d1c8529676fe9ee0604f014656af2395505fc web
- https://github.com/ipld/go-ipld-prime package
- https://github.com/ipld/go-ipld-prime/releases/tag/v0.19.0 web
- https://pkg.go.dev/vuln/GO-2023-1269 web