HAMT Decoding Panics in github.com/ipfs/go-unixfsnode
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-400.
Summary
github.com/ipfs/go-unixfsnode is an ADL IPLD prime node that wraps go-codec-dagpb's implementation of protobuf to enable pathing. In versions priot to 1.5.2 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 bogus fanout parameter in the HAMT directory nodes. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| ipfs | go-unixfsnode | before 1.5.2 | 1.5.2 | Patch available | CNA |
| — | github.com/ipfs/go-unixfsnode (Go) | before 1.5.2 | 1.5.2 | Patch available | GHSA-4gj3-6r43-3wfc |
- go-unixfsnode Vendoripfs Affected before 1.5.2 Fixed in 1.5.2 Patch available CNA
- github.com/ipfs/go-unixfsnode (Go) Vendor— Affected before 1.5.2 Fixed in 1.5.2 Patch available GHSA-4gj3-6r43-3wfc
Remediation
- Fix · CNA go-unixfsnode (ipfs) Fixed in 1.5.2
- Fix · GHSA-4gj3-6r43-3wfc github.com/ipfs/go-unixfsnode (Go) Fixed in 1.5.2 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2023-23631
- 2026-10-03 Alias added: GHSA-4gj3-6r43-3wfc
References
Patch 4
- https://github.com/ipfs/go-unixfsnode/security/advisories/GHSA-4gj3-6r43-3wfc
- https://github.com/ipfs/go-unixfsnode/commit/59050ea8bc458ae55246ae09243e6e165923e076
- https://github.com/ipfs/go-unixfsnode/commit/91b3d39d33ef0cd2aff2c95d50b2329350944b68
- https://github.com/ipfs/go-unixfsnode/commit/a4ed723727e0bdc2277158337c2fc0d82802d122
More ipfs vulnerabilities
- TI-2023-09455 Denial of service when feeding malformed size arguments in go-bitfield CVSS 3.1HIGH 7.5
- TI-2023-10871 Boxo bitswap/server: DOS unbounded persistent memory leak CVSS 3.1HIGH 8.2
- TI-2020-08933 Exposure of Sensitive Information to an Unauthorized Actor in AEgir CVSS 3.1CRITICAL 9.6
- TI-2022-07554 ProtoNode may be modified such that common method calls may panic in ipfs/go-merkledag CVSS 3.1HIGH 7.5
- TI-2020-16104 Control character injection in console output CVSS 3.1HIGH 8.8
- TI-2020-16100 Path traversal in ipfs go-ipfs CVSS 3.1HIGH 8.1
Sources
- CVE-2023-23631 · CVE Program
- CVE-2023-23631 · NVD
- FIRST EPSS
- GHSA-4gj3-6r43-3wfc · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences