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.
There are no known workarounds (users are advised to upgrade).
{ "url": "https://pkg.go.dev/vuln/GO-2023-1559", "review_status": "REVIEWED" }
{ "imports": [ { "path": "github.com/ipfs/go-unixfsnode/hamt", "symbols": [ "AttemptHAMTShardFromNode", "NewUnixFSHAMTShard", "NewUnixFSHAMTShardWithPreload", "_UnixFSHAMTShard.Length", "_UnixFSHAMTShard.Lookup", "_UnixFSHAMTShard.LookupByNode", "_UnixFSHAMTShard.LookupBySegment", "_UnixFSHAMTShard.LookupByString", "_UnixFSShardedDir__ListItr.Next", "bitField" ] }, { "path": "github.com/ipfs/go-unixfsnode/data/builder", "symbols": [ "BlockSizes", "BuildUnixFS", "BuildUnixFSDirectory", "BuildUnixFSFile", "BuildUnixFSRecursive", "BuildUnixFSShardedDirectory", "BuildUnixFSSymlink", "Data", "DataType", "Fanout", "FileSize", "FractionalNanoseconds", "HashType", "Mtime", "Permissions", "PermissionsString", "Seconds", "Time", "shard.bitmap", "shard.serialize" ] } ] }