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.
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.
Fixed in v0.19.0.
Prefer the "dag-json" codec which has the ability to encode bytes.
See fix in #472
{
"github_reviewed": true,
"cwe_ids": [
"CWE-20"
],
"nvd_published_at": "2023-01-04T15:15:00Z",
"github_reviewed_at": "2023-01-05T12:04:09Z",
"severity": "MODERATE"
}