In github.com/andybalholm/brotli before v1.2.7, the decompressor allocates memory for Huffman tables and block-type trees on every meta-block header without bounding the cumulative allocations relative to the input size. A small crafted brotli stream containing many empty meta-blocks with new Huffman trees can trigger hundreds of megabytes of allocations per kilobyte of input, leading to denial of service.
{
"review_status": "REVIEWED",
"url": "https://pkg.go.dev/vuln/GO-2026-6888"
}{
"imports": [
{
"path": "github.com/andybalholm/brotli",
"symbols": [
"Reader.Read",
"decodeBlockTypeAndLength",
"decodeCommandBlockSwitch",
"decodeCommandBlockSwitchInternal",
"decodeDistanceBlockSwitch",
"decodeDistanceBlockSwitchInternal",
"decodeError.Error",
"decodeLiteralBlockSwitch",
"decodeLiteralBlockSwitchInternal",
"decoderErrorString",
"processCommandsInternal",
"safeDecodeCommandBlockSwitch",
"safeDecodeDistanceBlockSwitch",
"safeDecodeLiteralBlockSwitch"
]
}
]
}