ipfs/go-unixfsnode · Security
IPFS go-unixfsnode subject to DOS via HAMT Decoding Panics
- GHSA ID
- GHSA-4gj3-6r43-3wfc
- CVE ID
- CVE-2023-23631
- Severity
- high
- Published
- Updated
- CVSS
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CVSS v3
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
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
CWEs
- CWE-400 · Uncontrolled Resource Consumption
References
- 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://pkg.go.dev/vuln/GO-2023-1559 ↗
- https://github.com/advisories/GHSA-4gj3-6r43-3wfc ↗