Skip to content

go-grpc-compression has a zstd decompression bombing vulnerability

High severity GitHub Reviewed Published Jun 7, 2024 in mostynb/go-grpc-compression • Updated Jun 17, 2024

Package

gomod github.com/mostynb/go-grpc-compression (Go)

Affected versions

>= 1.1.4, < 1.2.3

Patched versions

1.2.3

Description

Impact

A malicious user could cause a denial of service (DoS) when using a specially crafted gRPC request. The decompression mechanism for zstd did not respect the limits imposed by gRPC, allowing rapid memory usage increases.

Versions v1.1.4 through to v1.2.2 made use of the Decoder.DecodeAll function in github.com/klauspost/compress/zstd to decompress data provided by the peer. The vulnerability is exploitable only by attackers who can send gRPC payloads to users of github.com/mostynb/go-grpc-compression/zstd or github.com/mostynb/go-grpc-compression/nonclobbering/zstd.

Patches

Version v1.2.3 of github.com/mostynb/go-grpc-compression avoids the issue by not using the Decoder.DecodeAll function in github.com/klauspost/compress/zstd.

All users of github.com/mostynb/go-grpc-compression/zstd or github.com/mostynb/go-grpc-compression/nonclobbering/zstd in the affected versions should update to v1.2.3.

Workarounds

Other compression formats were not affected, users may consider switching from zstd to another format without upgrading to a newer release.

References

This issue was uncovered during a security audit performed by Miroslav Stampar of 7ASecurity, facilitated by OSTIF, for the OpenTelemetry project.

https://opentelemetry.io/blog/2024/cve-2024-36129
GHSA-c74f-6mfw-mm4v

References

@mostynb mostynb published to mostynb/go-grpc-compression Jun 7, 2024
Published to the GitHub Advisory Database Jun 10, 2024
Reviewed Jun 10, 2024
Last updated Jun 17, 2024

Severity

High
7.5
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Weaknesses

CVE ID

No known CVE

GHSA ID

GHSA-87m9-rv8p-rgmg
Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.