GitHub Advisoryadvisory · Go
GHSA-q264-w97q-q778 Denial of service via HAMT Decoding Panics
MEDIUM
Official page ↗
- Aliases
- CVE-2023-23625
- Ecosystem
- Go
- Packages
- github.com/ipfs/go-unixfs
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:H/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-unixfs: < 0.4.3 → fixed in 0.4.3
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 bogus `fanout` parameter in the HAMT directory nodes.
This include 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-unixfs/commit/dbcc43ec3e2db0d01e8d80c55040bba3cf22cb4b
Workarounds
Do not feed untrusted user data to the decoding functions.
References
• https://github.com/ipfs/go-bitfield/security/advisories/GHSA-2h6c-j3gf-xp9r
Related
Alias · CVE (1)
- CVE-2023-23625 go-unixfs is an implementation of a unix-like filesystem on top of an ipld merkledag. vulnerability
Weakness · CWE (1)
- CWE-400 Uncontrolled Resource Consumption weakness
References
- https://github.com/ipfs/go-unixfs/security/advisories/GHSA-q264-w97q-q778 web
- https://nvd.nist.gov/vuln/detail/CVE-2023-23625 advisory
- https://github.com/ipfs/go-unixfs/commit/467d139a640ecee4f2e74643dafcc58bb3b54175 web
- https://github.com/advisories/GHSA-q264-w97q-q778 advisory
- https://github.com/ipfs/go-unixfs package
- https://pkg.go.dev/vuln/GO-2023-1557 web