Advisory Database
  • Advisories
  • Dependency Scanning
  1. golang
  2. ›
  3. github.com/iskorotkov/avro/v2
  4. ›
  5. CVE-2026-46385

CVE-2026-46385: iskorotkov/avro: CPU Exhaustion in Decoder

May 18, 2026 (updated June 9, 2026)

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.

The fix exits the loop on the first inner-decode error. It does not bound the loop length itself; for full coverage on untrusted inputs, also configure Config.MaxSliceAllocSize and Config.MaxMapAllocSize (the latter introduced in v2.33.0).

References

  • github.com/advisories/GHSA-w8j3-pq8g-8m7w
  • github.com/iskorotkov/avro/security/advisories/GHSA-w8j3-pq8g-8m7w
  • nvd.nist.gov/vuln/detail/CVE-2026-46385

Code Behaviors & Features

Detect and mitigate CVE-2026-46385 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 2.33.0

Fixed versions

  • 2.33.0

Solution

Upgrade to version 2.33.0 or above.

Impact 7.5 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Learn more about CVSS

Weakness

  • CWE-1284: Improper Validation of Specified Quantity in Input
  • CWE-400: Uncontrolled Resource Consumption
  • CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')

Source file

go/github.com/iskorotkov/avro/v2/CVE-2026-46385.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:15:37 +0000.