| タイトル | Envoy ProxyのEnvoyにおける古典的バッファオーバーフローの脆弱性 |
|---|---|
| 概要 | Envoyはクラウドネイティブアプリケーション向けに設計されたオープンソースのエッジおよびサービスプロキシです。バージョン1.34.0から1.35.13、1.36.9、1.37.5、および1.38.3までの間に、EnvoyのTCP StatsDシンク(TcpStatsdSink)に脆弱性が存在していました。この脆弱性は、スレッドローカルのフラッシャーバッファが非常に長い統計名(例:16KiBを超える)によってオーバーフローする可能性があるものです。フォーマット処理中に、TcpStatsdSinkは16KiBの連続したメモリスライス(FLUSH_SLICE_SIZE_BYTES)を予約します。単一のメトリックのフォーマットが残りの容量を超える場合、フラッシャーはバッファのローテーションを開始しますが、不適切に固定された16KiBサイズのスライスを再度割り当て続けます。攻撃者が16KiBを超える統計名をトリガーできる場合、例えばstats_for_all_methods: trueに設定されたgrpc_statsフィルターで記録される非常に長いリクエストパス(:path)を含むHTTPまたはgRPCリクエストを送信すると、フラッシャーは確保されたヒープバッファの境界を超えてmemcpy操作を使用してメトリック名をコピーしようとします。これによりヒープ書き込みオーバーフローが発生し、即時のサービス拒否(プロセスクラッシュ)や潜在的なリモートコード実行(RCE)を引き起こす可能性があります。この脆弱性はバージョン1.35.13、1.36.9、1.37.5、および1.38.3で修正されています。 |
| 想定される影響 | ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアが完全に停止する可能性があります。 |
| 対策 | ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年6月26日0:00 |
| 登録日 | 2026年6月30日11:20 |
| 最終更新日 | 2026年6月30日11:20 |
| CVSS3.0 : 重要 | |
| スコア | 7.5 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| Envoy Proxy |
| Envoy 1.34.0 以上 1.35.13 未満 |
| Envoy 1.36.0 以上 1.36.9 未満 |
| Envoy 1.37.0 以上 1.37.5 未満 |
| Envoy 1.38.0 以上 1.38.3 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年06月30日] 掲載 |
2026年6月30日11:20 |
| 概要 | 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. |
|---|---|
| 公表日 | 2026年6月27日3:17 |
| 登録日 | 2026年6月27日4:35 |
| 最終更新日 | 2026年6月30日3:34 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* | 1.34.0 | 1.35.13 | |||
| cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* | 1.36.0 | 1.36.9 | |||
| cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* | 1.37.0 | 1.37.5 | |||
| cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* | 1.38.0 | 1.38.3 | |||