CVE-2026-46384: iskorotkov/avro: Integer Overflow in Avro Decoder
iskorotkov/avro is a fast Go Avro codec. Prior to 2.33.0, several Avro decoder paths read attacker-controlled 64-bit values from the wire format and either narrowed them to platform-sized int before bounds-checking, or summed them with overflow-prone signed-int arithmetic. On 32-bit targets (GOARCH=386, arm, mips, wasm, etc.), the truncation paths can silently bypass byte-slice limits, select the wrong union branch, or hit the OCF negative-make panic via wrap. Three sub-issues are not 32-bit-specific: cumulative-size arithmetic overflow in arrayDecoder.Decode / mapDecoder.Decode / mapDecoderUnmarshaler.Decode (wraps at math.MaxInt64 on amd64 / arm64 and bypasses MaxSliceAllocSize / MaxMapAllocSize), math.MinInt negation in block-header handling, and make([]byte, size) with a negative size in OCF block reads — all three panic or bypass caps on any platform, giving an attacker a denial-of-service primitive there. This vulnerability is fixed in 2.33.0.
Security readout for executives and security teams
Plain-English summary
A remote attacker who can supply crafted Avro data may crash a service, causing denial of service. Some 32-bit deployments also risk decoder safety checks being bypassed or incorrect union selection. Several crash and allocation-limit bypass conditions affect 64-bit systems too. The issue is fixed in version 2.33.0.
Executive priority
Treat this as a high-priority availability risk for exposed data-processing services. Accelerate remediation where untrusted parties can submit Avro or OCF content, especially for critical or multi-tenant workloads. Do not defer solely because production uses 64-bit systems; documented platform-independent paths remain.
Technical view
Before 2.33.0, decoder paths narrow attacker-controlled 64-bit values to int or use overflow-prone signed arithmetic. Results include bounds and allocation-cap bypasses, incorrect union selection, math.MinInt negation, and negative-size allocation panics. Extra truncation issues affect 32-bit targets; cumulative-size overflow and certain OCF block failures also affect 64-bit targets.
Likely exposure
Exposure exists where applications use iskorotkov/avro before 2.33.0 and decode untrusted Avro or OCF data. Internet-facing ingestion, messaging, file-processing, and multi-tenant services merit priority. Although 32-bit targets have additional paths, amd64 and arm64 deployments are not exempt from denial-of-service risk.
Exploitation context
The CVSS 4.0 score is 8.7, with network access, low complexity, no privileges, and no user interaction indicated. The supplied record is not in KEV and provides no evidence of active exploitation. Practical impact depends on whether an attacker can reach an application path that decodes crafted Avro or OCF input.
Researcher notes
Review arrayDecoder.Decode, mapDecoder.Decode, mapDecoderUnmarshaler.Decode, union selection, block-header processing, and OCF block reads. Separate 32-bit narrowing defects from platform-independent signed-overflow and negative-allocation cases. The supplied evidence supports denial of service and cap bypasses, but does not establish active exploitation or broader confidentiality impact.
Mitigation direction
Upgrade iskorotkov/avro to version 2.33.0 or later.
Prioritize internet-facing and multi-tenant services that decode untrusted Avro or OCF data.
Apply relevant Red Hat errata where the vulnerable library is supplied through affected Red Hat products.
Until upgraded, restrict untrusted Avro and OCF inputs and monitor decoder panics or abnormal restarts.
Validation and detection
Inventory Go applications and dependency manifests for iskorotkov/avro versions earlier than 2.33.0.
Identify workloads decoding attacker-controlled Avro or OCF data, including asynchronous ingestion paths.
Record target GOARCH; 32-bit builds have additional truncation exposure, while some denial-of-service paths affect 64-bit systems.
Confirm deployed artifacts resolve version 2.33.0 or later after remediation.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-190: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-190 · source CWE mapping
Integer Overflow or Wraparound
Integer Overflow or Wraparound represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.