CVE-2023-22460 json
go-ipld-prime json codec may panic if asked to encode bytes
published 2023-01-04 3 y ago modified 2026-08-27 2 mo ago also GHSA-c653-6hhg-9x92 , GO-2023-1269 , EUVD-2023-0438
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.2%
- EPSS 1.2% chance of exploitation in 30 days, percentile 67%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- go github.com/ipld/go-ipld-prime 0.19.0
- protocol go-ipld-prime 0.19.0
- github.com/ipld/go-ipld-prime@146d1c8 commit
- github.com/ipld/go-ipld-prime#472 pull request
- github.com/ipld/go-ipld-prime/releases/tag/v0.19.0 release
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 19 mo ago
Exploit prediction
1.17% chance of exploitation in the next 30 days, higher than 67% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/ipld/go-ipld-prime | <0.19.0 |
0.19.0 |
Affected products
- ipld go-ipld-prime
Classification
- Weakness
-
- CWE-20 Improper Input Validation
References
-
github.com
/ipld/go-ipld-prime/pull/472
web, patch, third-party-advisory
-
github.com
/ipld/go-ipld-prime/commit/146d1c8529676fe9ee0604f014656af2395505fc
web
-
github.com
/ipld/go-ipld-prime/security/advisories/GHSA-c653-6hhg-9x92
web, third-party-advisory, advisory
-
github.com
/ipld/go-ipld-prime/releases/tag/v0.19.0
web, release-notes, third-party-advisory
- openwall.com /lists/oss-security/2026/08/27/1
-
nvd.nist.gov
/vuln/detail/CVE-2023-22460
advisory
-
github.com
/ipld/go-ipld-prime
package
-
pkg.go.dev
/vuln/GO-2023-1269
web
Sources
- CVE List CVE-2023-22460
- GitHub Advisory GHSA-c653-6hhg-9x92
- NVD CVE-2023-22460
- OSV GO-2023-1269
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.