CVE-2022-2584
Panic when decoding invalid blocks in github.com/ipld/go-codec-dagpb
The dag-pb codec can panic when decoding invalid blocks.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.5
The dag-pb codec can panic when decoding invalid blocks.
- Record
CVE-2022-2584- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-119
- Updated
- 2026-11-02
CVE List
7.5
Panic when decoding invalid blocks in github.com/ipld/go-codec-dagpb
The dag-pb codec can panic when decoding invalid blocks.
- Record
CVE-2022-2584- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
EUVDEUVD-2022-7573
7.5
The dag-pb codec can panic when decoding invalid blocks.
- Record
EUVD-2022-7573- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-967g-cjx4-h7j6
7.0
Duplicate Advisory: go-codec-dagpb vulnerable to panic when decoding invalid blocks
Duplicate Advisory
This advisory has been withdrawn because it is a duplicate of GHSA-g3vv-g2j5-45f2. This link is maintained to preserve external references.
Original Description
go-codec-dagpb is an implementation of the DAG-PB spec for Go. The dag-pb codec can panic when decoding invalid blocks. This issue has been patched in version 1.3.1.
- Record
GHSA-967g-cjx4-h7j6- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H - Weakness
- CWE-119
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-g3vv-g2j5-45f2
7.5
ipld/go-codec-dagpb panics when processing certain blocks
Impact
Decoding certain blocks using the go-ipld-prime version of the dag-pb codec (go-codec-dagpb) can cause a panic. The panic comes from an assumption that the reported link length is accurate, but if the block ends before that reported length then it’s a buffer overread.
Patches
The issue is fixed in v1.3.1 and above.
Consumers can discover the versions of go-codec-dagpb in a module's dependency graph using the following command in the module root:
go mod graph | grep go-codec-dagpb
Workarounds
You can work around this issue without upgrading by recovering panics higher in the call stack of the goroutine that calls the defective code.
For more information
If you have any questions or comments about this advisory:
- Ask in IPFS Discord #ipld-chatter
- Open an issue in go-codec-dagpb
- Record
GHSA-g3vv-g2j5-45f2- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-119
- Updated
- 2026-11-02
OSV
7.5
Panic when decoding invalid blocks in github.com/ipld/go-codec-dagpb
The dag-pb codec can panic when decoding invalid blocks.
- Record
CVE-2022-2584- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVGHSA-967g-cjx4-h7j6
7.0
Duplicate Advisory: go-codec-dagpb vulnerable to panic when decoding invalid blocks
Duplicate Advisory
This advisory has been withdrawn because it is a duplicate of GHSA-g3vv-g2j5-45f2. This link is maintained to preserve external references.
Original Description
go-codec-dagpb is an implementation of the DAG-PB spec for Go. The dag-pb codec can panic when decoding invalid blocks. This issue has been patched in version 1.3.1.
- Record
GHSA-967g-cjx4-h7j6- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H - Weakness
- CWE-119
- Updated
- 2026-11-02
OSVGHSA-g3vv-g2j5-45f2
7.5
ipld/go-codec-dagpb panics when processing certain blocks
Impact
Decoding certain blocks using the go-ipld-prime version of the dag-pb codec (go-codec-dagpb) can cause a panic. The panic comes from an assumption that the reported link length is accurate, but if the block ends before that reported length then it’s a buffer overread.
Patches
The issue is fixed in v1.3.1 and above.
Consumers can discover the versions of go-codec-dagpb in a module's dependency graph using the following command in the module root:
go mod graph | grep go-codec-dagpb
Workarounds
You can work around this issue without upgrading by recovering panics higher in the call stack of the goroutine that calls the defective code.
For more information
If you have any questions or comments about this advisory:
- Ask in IPFS Discord #ipld-chatter
- Open an issue in go-codec-dagpb
- Record
GHSA-g3vv-g2j5-45f2- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-119
- Updated
- 2026-11-02
OSVGO-2022-0422 No score
Panic when decoding invalid blocks in github.com/ipld/go-codec-dagpb
The dag-pb codec can panic when decoding invalid blocks.
- Record
GO-2022-0422- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/ipld/go-codec-dagpbGo |
before 1.3.1 | 1.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2022-2584 is a high vulnerability (CVSS 7.5) in Github.com/ipld/go-codec-dagpb, published April 8, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.77%, the 55th percentile. Fixed in github.com/ipld/go-codec-dagpb 1.3.1.
References
github.com/ipld/go-codec-dagpb/commit/a17ace35cc760a2698645c09868f9050fa219f57
pkg.go.dev/vuln/GO-2022-0422
nvd.nist.gov/vuln/detail/CVE-2022-2584
github.com/advisories/GHSA-967g-cjx4-h7j6
github.com/ipld/go-codec-dagpb/security/advisories/GHSA-g3vv-g2j5-45f2
github.com/advisories/GHSA-g3vv-g2j5-45f2
pkg.go.dev
github.com/CVEProject/cvelistV5/tree/main/cves/2022/2xxx/CVE-2022-2584.json