Skip to main content
← All vulnerabilities
CVE-2026-46385GO-2026-5046GHSA-W8J3-PQ8G-8M7W

iskorotkov/avro: CPU Exhaustion in Avro Decoder

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.33.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • iskorotkov avro

    fixed in 2.33.0

  • github.com/iskorotkov/avro/v2Go

    fixed in 2.33.0

  • github.com/hamba/avro/v2Go

    All versions

References 1

GitHub · iskorotkov/avro