Vulnerability · Published Jul 17, 2023 · Assigned by GitHub_M

CVE-2023-37475Attacker-controlled parameter can cause denial of service in hamba avro

High 7.5

In plain English

A high-severity uncontrolled resource consumption in avro from hamba. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 1.0% (higher than 62% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.5High
Exploit odds (30 days)1.0%top 38.5% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official description

Hamba avro is a go lang encoder/decoder implementation of the avro codec specification. In affected versions a well-crafted string passed to avro's `github.com/hamba/avro/v2.Unmarshal()` can throw a `fatal error: runtime: out of memory` which is unrecoverable and can cause denial of service of the consumer of avro. The root cause of the issue is that avro uses part of the input to `Unmarshal()` to determine the size when creating a new slice and hence an attacker may consume arbitrary amounts of memory which in turn may cause the application to crash. This issue has been addressed in commit `b4a402f4` which has been included in release version `2.13.0`. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Gogithub.com/hamba/avro2.13.0GHSA-9x44-9pgq-cf45
Gogithub.com/hamba/avrono fix listedGO-2023-1930
Gogithub.com/hamba/avro/v22.13.0GHSA-9x44-9pgq-cf45
Gogithub.com/hamba/avro/v22.13.0GO-2023-1930

Affected products (as reported)

VendorProductVersions
hamba avro < 2.13.0

Weakness: CWE-400 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References