CVE-2026-46385
Description
iskorotkov/avro is a fast Go Avro codec. Prior to 2.33.0, the Avro array and map decoders looped 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 / arm64 targets — so a producer can declare a block of up to math.MaxInt64 (~9.2 × 10¹⁸) elements followed by EOF (or any truncated payload), and the decoder will attempt that many no-op iterations before propagating the error. The 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. Remote, unauthenticated denial-of-service. This vulnerability is fixed in 2.33.0.
How to fix
- github.com/iskorotkov/avro/v22.33.0 or later
- access.redhat.com/errata/RHSA-2026:48151
- access.redhat.com/errata/RHSA-2026:41030
- access.redhat.com/errata/RHSA-2026:44622
- access.redhat.com/errata/RHSA-2026:47149
- access.redhat.com/errata/RHSA-2026:53530
- access.redhat.com/errata/RHSA-2026:41064
- access.redhat.com/errata/RHSA-2026:30651
- access.redhat.com/errata/RHSA-2026:57191
- access.redhat.com/errata/RHSA-2026:60386
- access.redhat.com/errata/RHSA-2026:42852
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| github.com/iskorotkov/avro/v2Go | v < 2.33.0 | 2.33.0 |
| github.com/hamba/avro/v2Go | No range specified | — |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.