GitHub Advisoryadvisory · Go
GHSA-4gj3-6r43-3wfc IPFS go-unixfsnode subject to DOS via HAMT Decoding Panics
HIGH
Official page ↗
- Aliases
- CVE-2023-23631
- Ecosystem
- Go
- Packages
- github.com/ipfs/go-unixfsnode
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-400
- Reviewed
- 2023-02-10
Affected packages
• Go github.com/ipfs/go-unixfsnode: < 1.5.2 → fixed in 1.5.2
Description
Impact
Trying to read malformed HAMT sharded directories can cause panics and virtual memory leaks.
If you are reading untrusted user input, an attacker can then trigger a panic.
This is caused by a bogus fanout parameter in the HAMT directory nodes.
This includes checks returned in ipfs/go-bitfield GHSA-2h6c-j3gf-xp9r, as well as limiting the fanout to <= 1024 (to avoid attempts of arbitrary sized allocations).
Patches
• https://github.com/ipfs/go-unixfsnode/commit/91b3d39d33ef0cd2aff2c95d50b2329350944b68
• https://github.com/ipfs/go-unixfsnode/commit/a4ed723727e0bdc2277158337c2fc0d82802d122
References
• https://github.com/ipfs/go-unixfs/security/advisories/GHSA-q264-w97q-q778
• https://github.com/ipfs/go-bitfield/security/advisories/GHSA-2h6c-j3gf-xp9r
Related
Alias · CVE (1)
- CVE-2023-23631 github.com/ipfs/go-unixfsnode is an ADL IPLD prime node that wraps go-codec-dagpb's implementation of protobuf to enable pathing. vulnerability
Weakness · CWE (1)
- CWE-400 Uncontrolled Resource Consumption weakness
References
- https://github.com/ipfs/go-unixfsnode/security/advisories/GHSA-4gj3-6r43-3wfc web
- https://nvd.nist.gov/vuln/detail/CVE-2023-23631 advisory
- https://github.com/ipfs/go-unixfsnode/commit/59050ea8bc458ae55246ae09243e6e165923e076 web
- https://github.com/ipfs/go-unixfsnode/commit/91b3d39d33ef0cd2aff2c95d50b2329350944b68 web
- https://github.com/ipfs/go-unixfsnode/commit/a4ed723727e0bdc2277158337c2fc0d82802d122 web
- https://github.com/ipfs/go-unixfsnode package
- https://pkg.go.dev/vuln/GO-2023-1559 web