RATATOSKRATATOSK
ログイン

Envoy

v1.40.0Networking & Messaging
2026年10月13日

ACTION 4CHECK 8OTHER 29

ビルドシステムと複数のデフォルトが変わる、互換性に影響するリリースです。プロトコル、拡張性、認証、可観測性の機能が大きく拡張され、セキュリティ修正も含まれます。

要対応 (4)

  • security1.39.xのセキュリティ修正を継承

    1.39.xのセキュリティ修正が引き継がれました。パスパラメーターのURL正規化(CVE-2026-73511、CVE-2026-73551)、HTTP/2のEND_STREAMなしトレーラーと削除されたHostの集計(CVE-2026-73513、CVE-2026-73550)、HTTP/3のUAF(CVE-2026-73512)、パスなしリクエストにおけるext_authzのクラッシュとUAF(CVE-2026-73547、CVE-2026-50572)、generic-upgradeのボディパイプライン処理(CVE-2026-73548)、safe_regexのLatin1モード(CVE-2026-73552)、RBACのignore_path_parameters(CVE-2026-73553)、管理画面の統計名サニタイズ(CVE-2026-73546)、oauth2とapi_key_authのCONNECTクラッシュ(GHSA-8vc2-jrm4-835w、GHSA-47vj-9r25-wv5j)が対象です。

  • breakingClang/libc++ をデフォルト化

    Clang/libc++ がデフォルトになり、フラグの指定は不要になりました。

  • breakingコンテナ対応CPU検出のデフォルト有効化

    コンテナを考慮したCPU検出が、実際にデフォルトで有効になりました。

  • breakingContent-Type のない QUERY を拒否

    すべてのプロトコルで、Content-Type のない QUERY が拒否されるようになりました。

影響確認 (8)

  • securityJSON/REST bridge のパストラバーサル防止

    JSON/REST bridge を実行している場合に適用されます。

    JSON/REST bridge で、テンプレート変数を介したパストラバーサルを防止するようになりました。

  • breakingClang設定の削除

    --config=clang または clang-local を使用している場合に適用されます。

    --config=clang と clang-local が削除されました。

  • breakingC++標準ライブラリ指定の削除

    --@envoy//bazel:libc++、libstdc++、または force_libcpp を使用している場合に適用されます。

    --@envoy//bazel:libc++、libstdc++、force_libcpp の指定が削除されました。

  • breakingWasmランタイム指定の変更

    --define wasm= または --define engine= を使用している場合に適用されます。

    Wasmランタイムは --@proxy-wasm-cpp-host//bazel:engine=<engine> で選択する方式になりました。従来の --define wasm= と --define engine= を使うとビルドに失敗します。

  • breakingAWS-LCの選択肢を削除

    適用対象はリリースノートに明記されていません。

    選択可能なSSLライブラリから AWS-LC が削除され、--config=aws-lc-fips も使用できなくなりました。ppc64leのビルドでは --config=openssl を使用します。

  • breakingmcp_router のヘッダー転送デフォルト変更

    mcp_router を実行している場合に適用されます。

    mcp_router では、下流リクエストのヘッダーがデフォルトでバックエンドへ転送されなくなりました。

  • breakingX25519MLKEM768 をデフォルトECDH曲線に追加

    envoy.reloadable_features.pqc_default_ecdh_curves を設定していない場合に適用されます。

    デフォルトのECDH曲線に、X25519MLKEM768 のハイブリッド鍵交換が追加されました。

  • breakingWORKSPACE からBazelモジュールへ移行

    WORKSPACE を設定している場合に適用されます。

    WORKSPACE ファイルが削除され、Envoy、API、ドキュメントはBazelモジュールとして公開されるようになりました。

その他の記録済み変更 29 件すべてadditions 16 · fixes 8 · constraints 2 · value changes 2 · defaults 1

additions (16)

  • QUIC listeners gain client-certificate (mTLS) support, upstream QUIC gains client certificates, and P-384/P-521 ECDSA curves are supported.
  • new route_specifiers extension point post-processes (refines, drops, or synthesizes) the matched route
  • new per_worker_subset policy
  • new load_aware_locality policy
  • gains response-side LLM token-usage extraction for OpenAI, Anthropic and Gemini dialects (SSE and JSON), published as typed dynamic metadata (envoy.data.ai.v3.TokenUsage), plus request-info, schema-validation and transcoding sub-filters and body re-serialization.
  • MCP filter: per-route config, protocol-version enforcement, required client capabilities, new method groups, no-op mode and early termination when routable.
  • New extension points: cluster specifier, route specifier, header formatter, early header mutation, TLS handshaker, transport-socket relay, config validator, and downstream STARTTLS.
  • Typed metadata get/set, runtime getters, tracing spans across hooks, stream timing, upstream attempt/peer-address accessors, and Go SDK stats/log-level getters.
  • TLS: per-certificate TLS params, multiple upstream certificates with a certificate selector, SPIFFE upstream SAN validation, SDS file polling, and upstream session cache scoped by SNI.
  • OAuth2 gains assertion audience/key-id and TLS client auth for the credential injector; JWT auth gains claim paths and a JWT-claim rate-limit descriptor; GCP auth gains scopes, audiences and IAM access tokens; ext_authz gains shadow mode on the network filter and route-cache-clearing headers.
  • Access logs: downstream handshake time points and connection RTT, listener name and route-resolution-time formatters, CEL-expression formatter config, and nanosecond histogram units.
  • OpenTelemetry: resource detectors, custom exporters, instrumentation scope, and typed custom tags; ext_authz and ext_proc emit client spans.
  • Stats: per-cluster/listener stats matchers, explicit tags
  • Redis proxy: RESP3 protocol support, CLUSTER SHARDS
  • Reverse tunnels: JWT handshake auth, maintain interval, fail-closed identifier validation
  • Watchdog backtrace action, UDP health checker, multi-health-checker, TCP proxy load-shed points, and a body-size-limit HTTP filter.

fixes (8)

  • This closes a use-after-free on synchronous filter-chain teardown.
  • Broad hardening: a large batch of lifetime/view fixes across HTTP, network, listener and cluster-LB filter state
  • a fix for Prometheus native-histogram bucket indices being off by one.
  • several use-after-free fixes.
  • a batch of handshake lifecycle fixes.
  • Fixed a family of races where route-level configuration (AWS signing, composite, filter chain, local ratelimit, dynamic modules, SDS secrets) could be destroyed on a worker thread after an RDS update.
  • which also fixes inbound-only drain for the Mongo/Redis/Thrift/generic proxies
  • connectionless listeners no longer go dark during drain

constraints (2)

  • Dynamic-module clusters can now delegate host selection to Envoy's built-in LBs (ROUND_ROBIN, LEAST_REQUEST, RANDOM, RING_HASH, MAGLEV).
  • HTTP/1 now accepts the RFC 10008 QUERY method

value changes (2)

  • the hermetic LLVM/Clang toolchain is bumped from 18 to 22
  • HTTP/3 and QUIC are now stable

defaults (1)

  • coalesced LB rebuilds on EDS batch updates are now on by default
Envoyをスタックに追加

対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチと破壊的変更も、その一例です。

スタックに追加 →