CVE-2026-84303: gRPC-Go: xDS RBAC HTTP Filter bypass via mixed-case Header Matching and gRFC A41 validation evasion

Published Sep 1, 2026
·
Updated

Summary A vulnerability in the xDS RBAC HTTP filter implementation in grpc-go allows remote attackers to bypass authorization policies (specifically DENY rules) by using mixed-case or canonical-case header matchers (e.g., X-Role instead of x-role). Additionally, the safety guards introduced by gRFC A41 to block grpc- prefixed headers can be evaded via variations in casing (e.g., Grpc-Status).

Impact When an operator defines an RBAC policy referencing headers containing uppercase letters (e.g. X-Role), grpc-go fails to match incoming metadata keys because they are unconditionally lowercased. Because of this case-sensitivity mismatch, a policy designed to block requests containing specific header values fails open: the rule is evaluated as a non-match, and traffic that should have been rejected is served.

Furthermore, gRFC A41 requires rejecting configuration schemas specifying header matchers starting with grpc-. Because this check is executed case-sensitively in grpc-go, attackers can bypass the validation by specifying titles like Grpc-Status.

Patches The problem is fixed in master and in the 1.83.1 release.

Other sources

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.

— NVD

gRPC-Go: xDS RBAC HTTP Filter bypass via mixed-case Header Matching and gRFC A41 validation evasion

— Microsoft

Affected Software

2 affected componentsFixes available
gRPC-Go gRPC-Go<1.83.1
go/google.golang.org/grpc<=1.83.0
1.83.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/google.golang.org/grpc to a version that resolves this vulnerability.

    Fixed in 1.83.1
  2. Upgrade

    Upgrade grpc-go to a version that resolves this vulnerability.

    Fixed in 1.83.1
  3. Upgrade

    Upgrade grpc-go to a version that resolves this vulnerability.

    Fixed in master

Event History

Sep 1, 2026
CVE Published
via MITRE·06:14 PM
Data Sourced
via MITRE·06:14 PM
DescriptionWeakness
Data Sourced
via NVD·07:17 PM
DescriptionSeverityWeakness
Sep 7, 2026
Data Sourced
via Microsoft·08:59 AM
DescriptionSeverityWeakness
Sep 8, 2026
Advisory Published
via GitHub·08:50 PM
Data Sourced
via GitHub·08:50 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are exposed to the RBAC bypass?

Deployments using the gRPC-Go xDS RBAC HTTP filter before version 1.83.1 are exposed when they have DENY policies whose header matcher names use mixed case, such as X-Role or User-Agent. Incoming metadata keys are lowercase, so those policies do not match and fail open.

2

What does an attacker need to do to bypass an affected DENY rule?

An attacker only needs to send a request that would otherwise be rejected by a DENY policy relying on a mixed-case header matcher name. Because the incoming metadata key is lowercase and the configured matcher is not normalized, the rule fails to match.

3

Are there impacts beyond DENY-policy enforcement?

Yes. The same case mismatch can allow :Scheme or Grpc-Status to evade gRFC A41 validation, and it prevents Host from being rewritten to :authority.

4

What is the remediation?

Upgrade gRPC-Go to version 1.83.1, which fixes the header matcher normalization issue.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203