Skip to content
OpenAdvisories
High · 7.5 CVE-2023-37475 EUVD-2023-2020GHSA-9x44-9pgq-cf45GO-2023-1930

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

Published Jul 17, 2023 · Updated Oct 18, 2024 · Assigned by GitHub_M

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 products

VendorProductAffectedFixed
hamba avro < 2.13.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling argo-events 1.9.2-r1 —

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/hamba/avro < 2.13.0 2.13.0 GHSA-9x44-9pgq-cf45
Go github.com/hamba/avro all versions — GO-2023-1930
Go github.com/hamba/avro/v2 < 2.13.0 2.13.0 GHSA-9x44-9pgq-cf45

References