GHSA-4gj3-6r43-3wfc
IPFS go-unixfsnode subject to DOS via HAMT Decoding Panics
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/ipfs/go-unixfsnode | < 1.5.2 | 1.5.2 |
Details
As written in the advisory (Markdown source, shown as plain text).
## 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](https://github.com/ipfs/go-bitfield/security/advisories/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
References
External links from the advisory. They lead to third-party sites.
- https://github.com/ipfs/go-unixfsnode/security/advisories/GHSA-4gj3-6r43-3wfc
- https://nvd.nist.gov/vuln/detail/CVE-2023-23631
- https://github.com/ipfs/go-unixfsnode/commit/59050ea8bc458ae55246ae09243e6e165923e076
- https://github.com/ipfs/go-unixfsnode/commit/91b3d39d33ef0cd2aff2c95d50b2329350944b68
- https://github.com/ipfs/go-unixfsnode/commit/a4ed723727e0bdc2277158337c2fc0d82802d122
- https://github.com/ipfs/go-unixfsnode
- https://pkg.go.dev/vuln/GO-2023-1559