CVE-2026-84303
cAdvisor 脆弱性の分析と軽減

概要

CVE-2026-84303 is an authorization bypass vulnerability in gRPC-Go (the Go language implementation of gRPC) caused by improper handling of case sensitivity in the xDS RBAC HTTP filter. The normalizeHeaderMatcher function in internal/xds/httpfilter/rbac/rbac.go fails to lowercase header matcher names before comparison, even though incoming gRPC metadata keys are always lowercase. This mismatch causes DENY policies using mixed-case header names (e.g., X-Role, User-Agent) to fail open, allowing requests that should be rejected to pass through. All versions of google.golang.org/grpc prior to 1.83.1 are affected. The vulnerability was published on September 1, 2026, with a patch released on the same day. It carries a CVSS v4.0 base score of 6.3 (Medium) (GitHub Advisory, Feedly).

技術的な詳細

The root cause is classified as CWE-178 (Improper Handling of Case Sensitivity) and CWE-863 (Incorrect Authorization). In internal/xds/httpfilter/rbac/rbac.go, the normalizeHeaderMatcher function processed header matcher names verbatim from xDS configuration without lowercasing them, while the gRPC metadata engine always stores and compares keys in lowercase. As a result, a DENY policy configured with a header name like X-Role would never match the incoming lowercase key x-role, causing the rule to silently fail open and serve the request. The same case mismatch allowed pseudo-headers like :Scheme (spelled as :Scheme instead of :scheme) and grpc- prefixed headers (e.g., Grpc-Status) to evade gRFC A41 validation checks, and prevented Host from being correctly rewritten to :authority. The fix, applied in PR #9332, adds a strings.ToLower() call at the start of normalizeHeaderMatcher so all subsequent checks and the matching engine operate on a normalized name (GitHub Advisory, Fix Commit).

影響

Successful exploitation allows an unauthenticated remote attacker to bypass xDS RBAC DENY authorization policies in gRPC-Go services by sending requests with headers whose names are spelled in mixed or canonical case (e.g., X-Role instead of x-role). The bypassed policies fail open, meaning traffic that should have been denied is served normally, resulting in unauthorized access to protected gRPC endpoints. Additionally, the gRFC A41 safety guards against grpc- prefixed headers and :scheme pseudo-headers can be evaded, and Host-based routing rules may not function correctly. The confidentiality and integrity impacts are rated low, with no availability impact, as the attacker can read or manipulate data accessible through the bypassed authorization boundary (GitHub Advisory, Feedly).

エクスプロイト可能性

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the time of disclosure (Feedly). The vulnerability is network-exploitable with no authentication or user interaction required, but requires the precondition that the target service has xDS RBAC DENY policies configured using mixed-case header names. The EPSS score is approximately 0.0031 (0.31%), indicating a low probability of exploitation in the near term. The vulnerability is marked as automatable by NVD SSVC analysis. It is not currently listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported.

エクスプロイテーションのステップ

  1. Reconnaissance: Identify gRPC services using xDS-based RBAC HTTP filters with DENY policies that reference headers in mixed-case or canonical-case format (e.g., X-Role, User-Agent, Authorization). This may be inferred from service mesh configuration leaks or documentation.
  2. Identify target headers: Determine which mixed-case header names are used in DENY rules by probing the service or reviewing any accessible xDS control plane configuration.
  3. Craft the bypass request: Send a gRPC request that would normally be blocked by the DENY policy. Because the RBAC filter fails to normalize the header matcher name, the incoming lowercase metadata key (e.g., x-role) will never match the mixed-case matcher name (e.g., X-Role), so the DENY rule does not fire.
  4. Evade gRFC A41 validation (optional): If the target uses :scheme or grpc- prefixed header matchers for validation, send requests with these headers spelled in non-lowercase form (e.g., Grpc-Status) to bypass the A41 rejection check.
  5. Access protected resources: With the DENY policy silently failing open, the attacker's requests are served as if authorized, granting access to protected gRPC endpoints or data (GitHub Advisory, Fix PR).

妥協の兆候

  • Logs: gRPC server access logs showing requests to protected endpoints that should have been denied by RBAC policy, particularly from unexpected clients or with unusual header combinations; absence of PermissionDenied responses where DENY policies are configured.
  • Configuration: xDS RBAC policy configurations containing header matcher names with uppercase letters (e.g., X-Role, User-Agent, Authorization) in DENY rules — these are the conditions that trigger the vulnerability and may indicate misconfiguration being exploited.
  • Network: Unexpected successful gRPC calls to endpoints protected by header-based DENY policies; traffic patterns inconsistent with expected authorization outcomes.

軽減策と回避策

Upgrade google.golang.org/grpc to version 1.83.1 or later, which contains the fix in commits db9482836c298f234c896cf82ab68cafc78237f8 (master) and ebba6f3f1b206e2b4dc4d1d5a96d18430302c2fe (v1.83.x backport). As a temporary workaround, review all xDS RBAC policies and redefine any DENY rules to use only fully lowercase header names (e.g., change X-Role to x-role, User-Agent to user-agent), which ensures the matcher names align with the normalized incoming metadata keys. Upgrading to the patched version is the recommended and definitive solution (GitHub Advisory, Fix Commit).

コミュニティの反応

The vulnerability was reported by security researcher alimony (Markus Magnuson) and disclosed via the GitHub Security Advisory program. The fix was authored by gRPC-Go maintainer easwars and reviewed by arjan-bal, with the patch merged on August 19, 2026. The issue was noted in the Microsoft September 2026 Patch Tuesday coverage by BleepingComputer, which reported on 966 flaws addressed that month. SUSE and openSUSE issued security advisories for downstream packages (Helm, azure-storage-azcopy, google-cloud-sap-agent) that depend on gRPC-Go, reflecting broad ecosystem impact (BleepingComputer, SUSE Advisory).

関連情報

Linuxディストリビューションの修正状況

主要なLinuxディストリビューションおよびそのリリースにおける修正の提供状況。

Debian

影響

bookworm

golang-google-grpc

影響

sid

golang-google-grpc

影響

trixie

golang-google-grpc

影響

Ubuntu

不明

bionic (esm-apps)

golang-google-grpc

不明

devel

golang-google-grpc

不明

focal (esm-apps)

golang-google-grpc

不明

focal (esm-infra)

google-guest-agent

不明

jammy

golang-google-grpc

不明

jammy (esm-apps)

golang-google-grpc

不明

noble

golang-google-grpc

不明

noble (esm-apps)

golang-google-grpc

不明

ソースこのレポートは AI を使用して生成されました

関連 cAdvisor 脆弱 性:

CVE 識別子

重大度

スコア

テクノロジー

コンポーネント名

CISA KEV エクスプロイト

修正あり

公開日

CVE-2026-84445HIGH8.7
  • cAdvisor logocAdvisor
  • paketo-buildpacks-cpython-1.18.40
いいえはいSep 14, 2026
CVE-2026-84304HIGH8.7
  • cAdvisor logocAdvisor
  • signoz-otel-collector-fips
いいえはいSep 01, 2026
CVE-2026-56865HIGH8.4
  • Go logoGo
  • dex
いいえはいAug 13, 2026
CVE-2026-56864HIGH7.5
  • Go logoGo
  • dragonfly-operator-1.5
いいえはいAug 13, 2026
CVE-2026-84303MEDIUM6.3
  • cAdvisor logocAdvisor
  • argo-workflow-controller-fips-4.1
いいえはいSep 01, 2026

無料の脆弱性評価

クラウドセキュリティポスチャーのベンチマーク

9つのセキュリティドメインにわたるクラウドセキュリティプラクティスを評価して、リスクレベルをベンチマークし、防御のギャップを特定します。

評価を依頼する

パーソナライズされたデモを見る

実際に Wiz を見てみませんか?​

"私が今まで見た中で最高のユーザーエクスペリエンスは、クラウドワークロードを完全に可視化します。"
デビッド・エストリックCISO (最高情報責任者)
"Wiz を使えば、クラウド環境で何が起こっているかを 1 つの画面で確認することができます"
アダム・フレッチャーチーフ・セキュリティ・オフィサー
"Wizが何かを重要視した場合、それは実際に重要であることを私たちは知っています。"
グレッグ・ポニャトフスキ脅威および脆弱性管理責任者