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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
iskorotkov avro
< 2.33.0affected
References
- https://github.com/iskorotkov/avro/security/advisories/GHSA-w8j3-pq8g-8m7w ↗
- https://access.redhat.com/security/cve/CVE-2026-46385 ↗
- https://bugzilla.redhat.com/show_bug.cgi?id=2483475 ↗
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-46385.json ↗
- https://access.redhat.com/errata/RHSA-2026:48151 ↗
- https://access.redhat.com/errata/RHSA-2026:41030 ↗
- https://access.redhat.com/errata/RHSA-2026:44622 ↗
- https://access.redhat.com/errata/RHSA-2026:47149 ↗
- https://access.redhat.com/errata/RHSA-2026:53530 ↗
- https://access.redhat.com/errata/RHSA-2026:41064 ↗
- https://access.redhat.com/errata/RHSA-2026:30651 ↗
- https://access.redhat.com/errata/RHSA-2026:57191 ↗
- https://access.redhat.com/errata/RHSA-2026:60386 ↗
- https://access.redhat.com/errata/RHSA-2026:42852 ↗