5.9 MEDIUM
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): High (H)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): None (N)
- Integrity (I): None (N)
- Availability (A): High (H)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): High (H)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): None (N)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): None (N)
- Modified Availability (MA): High (H)
Activity log
- Created suggestion
Envoy Heap Buffer Overflow in TcpStatsdSink
Envoy is an open source edge and service proxy designed for cloud-native applications. From 1.34.0 until 1.35.13, 1.36.9, 1.37.5, and 1.38.3, a vulnerability exists in Envoy's TCP StatsD sink (TcpStatsdSink), where the thread-local flusher buffer can be overflowed by exceptionally long statistic names (e.g., >16KiB). During formatting, TcpStatsdSink reserves a single contiguous memory slice of 16KiB (FLUSH_SLICE_SIZE_BYTES). If formatting a single metric exceeds the remaining capacity, the flusher initiates a buffer rotation but incorrectly continues to allocate another fixed 16KiB slice. If an attacker can trigger a statistic name longer than 16KiB—for example, by sending an HTTP or gRPC request with an extremely long request path (:path) that is recorded by the grpc_stats filter configured with stats_for_all_methods: true—the flusher will attempt to copy the metric name using memcpy operations beyond the allocated heap buffer boundaries. This leads to a heap write overflow, which can cause immediate denial-of-service (process crash) or potential remote code execution (RCE). This vulnerability is fixed in 1.35.13, 1.36.9, 1.37.5, and 1.38.3.
References
-
https://github.com/envoyproxy/envoy/security/advisories/GHSA-7q3f-gwg7-j8g4 x_refsource_CONFIRM
Affected products
- ==>= 1.37.0, < 1.37.5
- ==>= 1.36.0, < 1.36.9
- ==>= 1.34.0, < 1.35.13
- ==>= 1.38.0, < 1.38.3
Matching in nixpkgs
pkgs.envoy
Cloud-native edge and service proxy
pkgs.envoy-bin
Cloud-native edge and service proxy
pkgs.opa-envoy-plugin
Plugin to enforce OPA policies with Envoy
-
nixos-unstable -
- nixos-unstable-small 1.16.2-envoy
-
nixos-26.05 -
- nixos-26.05-small 1.16.2-envoy
pkgs.python312Packages.envoy-utils
None
pkgs.python313Packages.envoy-utils
Python utilities for the Enphase Envoy
pkgs.python314Packages.envoy-utils
Python utilities for the Enphase Envoy
pkgs.python312Packages.envoy-reader
None
pkgs.python313Packages.envoy-reader
Python module to read from Enphase Envoy units
pkgs.python314Packages.envoy-reader
Python module to read from Enphase Envoy units
pkgs.python313Packages.envoy-data-plane
Python dataclasses for the Envoy Data-Plane-API
pkgs.python314Packages.envoy-data-plane
Python dataclasses for the Envoy Data-Plane-API