CVE-2026-33186: CWE-285: Improper Authorization in grpc grpc-go
gRPC-Go is the Go language implementation of gRPC. Versions prior to 1.79.3 have an authorization bypass resulting from improper input validation of the HTTP/2 `:path` pseudo-header. The gRPC-Go server was too lenient in its routing logic, accepting requests where the `:path` omitted the mandatory leading slash (e.g., `Service/Method` instead of `/Service/Method`). While the server successfully routed these requests to the correct handler, authorization interceptors (including the official `grpc/authz` package) evaluated the raw, non-canonical path string. Consequently, "deny" rules defined using canonical paths (starting with `/`) failed to match the incoming request, allowing it to bypass the policy if a fallback "allow" rule was present. This affects gRPC-Go servers that use path-based authorization interceptors, such as the official RBAC implementation in `google.golang.org/grpc/authz` or custom interceptors relying on `info.FullMethod` or `grpc.Method(ctx)`; AND that have a security policy contains specific "deny" rules for canonical paths but allows other requests by default (a fallback "allow" rule). The vulnerability is exploitable by an attacker who can send raw HTTP/2 frames with malformed `:path` headers directly to the gRPC server. The fix in version 1.79.3 ensures that any request with a `:path` that does not start with a leading slash is immediately rejected with a `codes.Unimplemented` error, preventing it from reaching authorization interceptors or handlers with a non-canonical path string. While upgrading is the most secure and recommended path, users can mitigate the vulnerability using one of the following methods: Use a validating interceptor (recommended mitigation); infrastructure-level normalization; and/or policy hardening.
AI Analysis
Technical Summary
CVE-2026-33186 is a critical security vulnerability in grpc-go, the Go implementation of gRPC, affecting versions prior to 1.79.3. The root cause is improper input validation of the HTTP/2 :path pseudo-header, specifically the acceptance of paths missing the mandatory leading slash. While the grpc-go server routes such requests correctly to the intended handler, authorization interceptors—including the official grpc/authz RBAC implementation—evaluate the raw, non-canonical path string. This discrepancy causes deny rules defined with canonical paths (starting with '/') to fail to match these requests. If the security policy includes a fallback allow rule, this leads to an authorization bypass, allowing unauthorized requests to succeed. The vulnerability is exploitable by an attacker capable of sending raw HTTP/2 frames with malformed :path headers directly to the grpc-go server, without requiring authentication or user interaction. The fix introduced in grpc-go 1.79.3 rejects any request with a :path header that does not begin with a leading slash, returning a codes.Unimplemented error before authorization interceptors or handlers process the request. This prevents the bypass scenario. Until upgrading, mitigations include deploying a validating interceptor that enforces canonical path formats, normalizing requests at the infrastructure level (e.g., proxies or gateways), or hardening authorization policies to avoid fallback allow rules that could be exploited. This vulnerability is tracked under CWE-285 (Improper Authorization) and carries a CVSS v3.1 score of 9.1, indicating critical severity due to its network attack vector, low complexity, no privileges or user interaction required, and high impact on confidentiality and integrity.
Potential Impact
The vulnerability allows attackers to bypass authorization controls on grpc-go servers that rely on path-based authorization interceptors, potentially granting unauthorized access to sensitive services or methods. This can lead to unauthorized data disclosure, modification, or execution of privileged operations, severely compromising confidentiality and integrity. Since gRPC is widely used for inter-service communication in microservices architectures and cloud-native applications, exploitation could affect a broad range of organizations globally, including enterprises, cloud providers, and service vendors. The lack of required authentication or user interaction lowers the barrier for exploitation, increasing risk. Although no known exploits are currently reported in the wild, the critical CVSS score and the nature of the flaw suggest that attackers with network access to vulnerable grpc-go servers could leverage this vulnerability to escalate privileges or access restricted functionality. The availability impact is minimal as the vulnerability does not disrupt service but focuses on unauthorized access.
Mitigation Recommendations
The most effective mitigation is to upgrade grpc-go to version 1.79.3 or later, which rejects malformed :path headers before authorization checks. For environments where immediate upgrading is not feasible, implement a validating interceptor that enforces the presence of a leading slash in the :path header, rejecting or sanitizing malformed requests early in the request lifecycle. Additionally, normalize incoming HTTP/2 requests at the infrastructure level using proxies, API gateways, or ingress controllers to ensure all :path headers conform to canonical format before reaching the grpc-go server. Review and harden authorization policies to avoid fallback allow rules that could inadvertently permit unauthorized access if deny rules fail to match. Employ network segmentation and strict access controls to limit exposure of grpc-go servers to untrusted networks, reducing the attack surface. Monitor network traffic for anomalous HTTP/2 frames with malformed headers and implement logging to detect potential exploitation attempts. Finally, conduct thorough testing of custom authorization interceptors to ensure they correctly handle non-canonical paths.
Affected Countries
United States, China, Germany, India, United Kingdom, Japan, South Korea, France, Canada, Australia, Netherlands, Brazil, Singapore
CVE-2026-33186: CWE-285: Improper Authorization in grpc grpc-go
Description
gRPC-Go is the Go language implementation of gRPC. Versions prior to 1.79.3 have an authorization bypass resulting from improper input validation of the HTTP/2 `:path` pseudo-header. The gRPC-Go server was too lenient in its routing logic, accepting requests where the `:path` omitted the mandatory leading slash (e.g., `Service/Method` instead of `/Service/Method`). While the server successfully routed these requests to the correct handler, authorization interceptors (including the official `grpc/authz` package) evaluated the raw, non-canonical path string. Consequently, "deny" rules defined using canonical paths (starting with `/`) failed to match the incoming request, allowing it to bypass the policy if a fallback "allow" rule was present. This affects gRPC-Go servers that use path-based authorization interceptors, such as the official RBAC implementation in `google.golang.org/grpc/authz` or custom interceptors relying on `info.FullMethod` or `grpc.Method(ctx)`; AND that have a security policy contains specific "deny" rules for canonical paths but allows other requests by default (a fallback "allow" rule). The vulnerability is exploitable by an attacker who can send raw HTTP/2 frames with malformed `:path` headers directly to the gRPC server. The fix in version 1.79.3 ensures that any request with a `:path` that does not start with a leading slash is immediately rejected with a `codes.Unimplemented` error, preventing it from reaching authorization interceptors or handlers with a non-canonical path string. While upgrading is the most secure and recommended path, users can mitigate the vulnerability using one of the following methods: Use a validating interceptor (recommended mitigation); infrastructure-level normalization; and/or policy hardening.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-33186 is a critical security vulnerability in grpc-go, the Go implementation of gRPC, affecting versions prior to 1.79.3. The root cause is improper input validation of the HTTP/2 :path pseudo-header, specifically the acceptance of paths missing the mandatory leading slash. While the grpc-go server routes such requests correctly to the intended handler, authorization interceptors—including the official grpc/authz RBAC implementation—evaluate the raw, non-canonical path string. This discrepancy causes deny rules defined with canonical paths (starting with '/') to fail to match these requests. If the security policy includes a fallback allow rule, this leads to an authorization bypass, allowing unauthorized requests to succeed. The vulnerability is exploitable by an attacker capable of sending raw HTTP/2 frames with malformed :path headers directly to the grpc-go server, without requiring authentication or user interaction. The fix introduced in grpc-go 1.79.3 rejects any request with a :path header that does not begin with a leading slash, returning a codes.Unimplemented error before authorization interceptors or handlers process the request. This prevents the bypass scenario. Until upgrading, mitigations include deploying a validating interceptor that enforces canonical path formats, normalizing requests at the infrastructure level (e.g., proxies or gateways), or hardening authorization policies to avoid fallback allow rules that could be exploited. This vulnerability is tracked under CWE-285 (Improper Authorization) and carries a CVSS v3.1 score of 9.1, indicating critical severity due to its network attack vector, low complexity, no privileges or user interaction required, and high impact on confidentiality and integrity.
Potential Impact
The vulnerability allows attackers to bypass authorization controls on grpc-go servers that rely on path-based authorization interceptors, potentially granting unauthorized access to sensitive services or methods. This can lead to unauthorized data disclosure, modification, or execution of privileged operations, severely compromising confidentiality and integrity. Since gRPC is widely used for inter-service communication in microservices architectures and cloud-native applications, exploitation could affect a broad range of organizations globally, including enterprises, cloud providers, and service vendors. The lack of required authentication or user interaction lowers the barrier for exploitation, increasing risk. Although no known exploits are currently reported in the wild, the critical CVSS score and the nature of the flaw suggest that attackers with network access to vulnerable grpc-go servers could leverage this vulnerability to escalate privileges or access restricted functionality. The availability impact is minimal as the vulnerability does not disrupt service but focuses on unauthorized access.
Mitigation Recommendations
The most effective mitigation is to upgrade grpc-go to version 1.79.3 or later, which rejects malformed :path headers before authorization checks. For environments where immediate upgrading is not feasible, implement a validating interceptor that enforces the presence of a leading slash in the :path header, rejecting or sanitizing malformed requests early in the request lifecycle. Additionally, normalize incoming HTTP/2 requests at the infrastructure level using proxies, API gateways, or ingress controllers to ensure all :path headers conform to canonical format before reaching the grpc-go server. Review and harden authorization policies to avoid fallback allow rules that could inadvertently permit unauthorized access if deny rules fail to match. Employ network segmentation and strict access controls to limit exposure of grpc-go servers to untrusted networks, reducing the attack surface. Monitor network traffic for anomalous HTTP/2 frames with malformed headers and implement logging to detect potential exploitation attempts. Finally, conduct thorough testing of custom authorization interceptors to ensure they correctly handle non-canonical paths.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-03-17T22:16:36.720Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 69bdcad201d25e334c8cba93
Added to database: 3/20/2026, 10:31:46 PM
Last enriched: 3/27/2026, 10:44:54 PM
Last updated: 5/4/2026, 10:07:50 PM
Views: 234
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.