{"id":"GO-2023-1557","summary":"Denial of service via HAMT decoding panic in github.com/ipfs/go-unixfs","details":"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.\n\nThis is caused by bogus \"fanout\" parameter in the HAMT directory nodes. A workaround is to not feed untrusted user data to the decoding functions.","aliases":["CVE-2023-23625","GHSA-q264-w97q-q778"],"modified":"2024-05-20T16:03:47Z","published":"2023-02-14T19:34:46Z","database_specific":{"url":"https://pkg.go.dev/vuln/GO-2023-1557","review_status":"REVIEWED"},"references":[{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-q264-w97q-q778"},{"type":"FIX","url":"https://github.com/ipfs/go-unixfs/commit/467d139a640ecee4f2e74643dafcc58bb3b54175"}],"affected":[{"package":{"name":"github.com/ipfs/go-unixfs","ecosystem":"Go","purl":"pkg:golang/github.com/ipfs/go-unixfs"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.4.3"}]}],"ecosystem_specific":{"imports":[{"path":"github.com/ipfs/go-unixfs/hamt","symbols":["NewHamtFromDag","NewShard","NewShardValue","Shard.EnumLinks","Shard.EnumLinksAsync","Shard.Find","Shard.ForEachLink","Shard.Remove","Shard.Set","Shard.SetLink","Shard.Swap","Shard.Take","makeShard","newChilder"]}]},"database_specific":{"source":"https://vuln.go.dev/ID/GO-2023-1557.json"}}],"schema_version":"1.7.3","credits":[{"name":"Jorropo"}]}