Description
gRPC-Go is the Go language implementation of gRPC. Prior to 1.83.1, the xDS RBAC HTTP filter in internal/xds/httpfilter/rbac/rbac.go does not lowercase header matcher names in normalizeHeaderMatcher even though incoming metadata keys are lowercase. A DENY policy using a mixed-case name such as X-Role or User-Agent therefore does not match and fails open, allowing requests that should be rejected. The same case mismatch permits :Scheme or Grpc-Status to evade gRFC A41 validation and prevents Host from being rewritten to :authority. This issue is fixed in version 1.83.1.
Published: 2026-09-01
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability in the xDS RBAC HTTP filter causes the filter to fail to lowercase header matcher names during normalization while incoming metadata keys remain lowercase. A DENY policy that references a mixed‑case header such as X-Role or User-Agent therefore does not match the actual request headers, allowing traffic that should be rejected to pass through. Similar case mismatches also enable special headers like :Scheme or Grpc-Status to evade gRFC A41 validation and prevent the Host header from being rewritten to :authority. The result is that authorized‑only traffic can be granted access and protocol validation can be subverted.

Affected Systems

The affected product is gRPC-Go, the Go language implementation of gRPC, specifically versions prior to 1.83.1. All releases before v1.83.1 are vulnerable.

Risk and Exploitability

The CVSS score of 6.3 indicates moderate severity. No EPSS score is available, and the vulnerability is not in the CISA KEV catalog. Attackers can exploit the flaw by sending HTTP requests with mixed‑case header names that the filter fails to match; this bypass is local to the gRPC service and does not require elevated privileges or additional access rights.

Generated by OpenCVE AI on September 2, 2026 at 03:03 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to gRPC‑Go v1.83.1 or later
  • If an upgrade is not immediately possible, avoid using mixed‑case header names in DENY policies and abstain from configuring :Scheme or Grpc-Status in the filter
  • When proxies or service meshes are used, ensure they rewrite header names to lowercase before they reach the gRPC filter

Generated by OpenCVE AI on September 2, 2026 at 03:03 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 02 Sep 2026 04:00:00 +0000

Type Values Removed Values Added
First Time appeared Grpc
Grpc grpc-go
Vendors & Products Grpc
Grpc grpc-go

Tue, 01 Sep 2026 22:00:00 +0000

Type Values Removed Values Added
Description gRPC-Go is the Go language implementation of gRPC. Prior to 1.83.1, the xDS RBAC HTTP filter in internal/xds/httpfilter/rbac/rbac.go does not lowercase header matcher names in normalizeHeaderMatcher even though incoming metadata keys are lowercase. A DENY policy using a mixed-case name such as X-Role or User-Agent therefore does not match and fails open, allowing requests that should be rejected. The same case mismatch permits :Scheme or Grpc-Status to evade gRFC A41 validation and prevents Host from being rewritten to :authority. This issue is fixed in version 1.83.1.
Title gRPC-Go: xDS RBAC HTTP Filter bypass via mixed-case Header Matching and gRFC A41 validation evasion
Weaknesses CWE-178
CWE-863
References
Metrics cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-01T18:14:37.870Z

Reserved: 2026-09-01T16:17:43.078Z

Link: CVE-2026-84303

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-01T19:17:30.600

Modified: 2026-09-01T19:17:30.600

Link: CVE-2026-84303

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-02T03:45:04Z

Weaknesses
  • CWE-178

    Improper Handling of Case Sensitivity

  • CWE-863

    Incorrect Authorization