{"id":"GO-2026-5046","summary":"CPU exhaustion in Avro decoder in github.com/iskorotkov/avro/v2 and github.com/hamba/avro/v2","details":"The Avro array and map decoders loop over an attacker-controlled block-count value without checking the underlying reader's error state inside the loop body. Reader.ReadBlockHeader returns the count as a Go int, which is 64-bit on amd64 and arm64 targets. A producer can declare a block of up to math.MaxInt64 elements followed by EOF or any truncated payload, and the decoder will attempt that many no-op iterations before propagating the error.\n\nThe realistic ceiling is indefinite until the worker is killed externally. A single hostile payload pins a CPU core until the process is OOM-killed, deadline-cancelled, or terminated, resulting in a remote, unauthenticated denial-of-service.\n\nThe fix exits the loop on the first inner-decode error.","aliases":["CVE-2026-46385","GHSA-w8j3-pq8g-8m7w"],"modified":"2026-08-05T03:41:56.678986925Z","published":"2026-07-27T16:16:22Z","related":["CGA-64rm-wxwr-h4fp"],"database_specific":{"review_status":"REVIEWED","url":"https://pkg.go.dev/vuln/GO-2026-5046"},"references":[{"type":"ADVISORY","url":"https://github.com/iskorotkov/avro/security/advisories/GHSA-w8j3-pq8g-8m7w"},{"type":"FIX","url":"https://github.com/iskorotkov/avro/commit/2ce4242e6095d93470ab3b37ed6082b0596f325c"},{"type":"FIX","url":"https://github.com/iskorotkov/avro/commit/b124caa58a821f68f100d86f045f9753b88881e8"}],"affected":[{"package":{"name":"github.com/iskorotkov/avro/v2","ecosystem":"Go","purl":"pkg:golang/github.com/iskorotkov/avro/v2"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.33.0"}]}],"ecosystem_specific":{"imports":[{"path":"github.com/iskorotkov/avro/v2"}]},"database_specific":{"source":"https://vuln.go.dev/ID/GO-2026-5046.json"}},{"package":{"name":"github.com/hamba/avro/v2","ecosystem":"Go","purl":"pkg:golang/github.com/hamba/avro/v2"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"ecosystem_specific":{"imports":[{"path":"github.com/hamba/avro/v2"}]},"database_specific":{"source":"https://vuln.go.dev/ID/GO-2026-5046.json"}}],"schema_version":"1.7.5","credits":[{"name":"Daniel Błażewicz"},{"name":"Ivan Korotkov"}]}