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 경로 탐색 차단

    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에서 하위 요청 헤더가 기본적으로 백엔드로 전달되지 않습니다.

  • breaking기본 ECDH 곡선에 X25519MLKEM768 추가

    envoy.reloadable_features.pqc_default_ecdh_curves를 설정하지 않은 경우 이 변경이 적용됩니다.

    기본 ECDH 곡선에 하이브리드 키 교환 방식인 X25519MLKEM768이 추가되었습니다.

  • breakingWORKSPACE에서 Bazel 모듈로 전환

    WORKSPACE를 설정하는 경우 이 변경이 적용됩니다.

    WORKSPACE 파일이 제거되었습니다. Envoy와 API, 문서는 Bazel 모듈로 게시되며 모듈 정의에는 MODULE.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 스택에 추가

조치가 필요한 릴리스가 나왔을 때 주간 메일로 알려드립니다. 이번 릴리스의 보안 패치와 브레이킹 체인지 같은 것들입니다.

스택에 추가 →