Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…

CVE-2026-33186: CWE-285: Improper Authorization in grpc grpc-go

0
Critical
VulnerabilityCVE-2026-33186cvecve-2026-33186cwe-285
Published: Fri Mar 20 2026 (03/20/2026, 22:23:32 UTC)
Source: CVE Database V5
Vendor/Project: grpc
Product: 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

AILast updated: 03/20/2026, 22:40:11 UTC

Technical Analysis

CVE-2026-33186 is a critical security vulnerability in grpc-go, the Go implementation of gRPC, affecting all versions prior to 1.79.3. The root cause is an improper authorization check stemming from lenient routing logic that accepts HTTP/2 :path pseudo-headers lacking the mandatory leading slash (e.g., 'Service/Method' instead of '/Service/Method'). While the grpc-go server correctly routes such requests to the intended handler, authorization interceptors—including the official grpc/authz RBAC package—evaluate the raw, non-canonical path string. This discrepancy causes deny rules defined for canonical paths (which start with a slash) to fail to match these requests. If the server’s security policy includes deny rules for canonical paths but defaults to allowing other requests, attackers can exploit this to bypass authorization controls. Exploitation requires the ability to send raw HTTP/2 frames with malformed :path headers directly to the grpc-go server, which may be feasible in exposed service environments. The vulnerability impacts any grpc-go server using path-based authorization interceptors relying on info.FullMethod or grpc.Method(ctx) for access control decisions. The fix introduced in grpc-go version 1.79.3 enforces strict validation by rejecting any request with a :path that does not start with a leading slash, returning a codes.Unimplemented error before authorization interceptors or handlers process the request. This prevents the non-canonical path from reaching authorization logic, closing the bypass. While upgrading to 1.79.3 or later is the most secure solution, mitigations include deploying a validating interceptor that enforces path canonicalization, implementing infrastructure-level normalization of HTTP/2 :path headers, or hardening authorization policies to avoid fallback allow rules that could be exploited. The vulnerability is assigned a CVSS v3.1 base score of 9.1, indicating critical severity due to its network attack vector, no required privileges or user interaction, and high impact on confidentiality and integrity. No known exploits are reported in the wild as of publication.

Potential Impact

This vulnerability allows unauthenticated remote attackers to bypass path-based authorization controls on grpc-go servers, potentially granting unauthorized access to sensitive services or methods. The impact includes unauthorized disclosure of confidential information and unauthorized modification or execution of service methods, compromising data confidentiality and integrity. Since grpc-go is widely used in microservices architectures and cloud-native applications, exploitation could lead to lateral movement within networks, data breaches, or unauthorized command execution in critical infrastructure. The vulnerability does not affect availability directly but undermines trust in access controls, increasing the risk of further exploitation. Organizations relying on grpc-go for internal or external APIs that implement path-based RBAC or custom authorization interceptors are at significant risk if they have fallback allow policies. The ease of exploitation (no authentication or user interaction required) and the broad use of grpc-go in modern distributed systems amplify the threat's severity globally.

Mitigation Recommendations

The primary and most effective mitigation is to upgrade all grpc-go servers to version 1.79.3 or later, which enforces strict validation of the :path header. If immediate upgrading is not feasible, deploy a validating interceptor that rejects or normalizes incoming requests with non-canonical :path headers before authorization interceptors process them. Implement infrastructure-level normalization by configuring HTTP/2 proxies, ingress controllers, or API gateways to enforce canonical path formats, rejecting or rewriting malformed :path headers. Harden authorization policies by avoiding fallback allow rules; instead, explicitly deny unknown or malformed paths to reduce the risk of bypass. Conduct thorough audits of existing authorization interceptors to ensure they rely on canonical paths and handle edge cases correctly. Monitor network traffic for anomalous HTTP/2 frames with malformed :path headers and implement logging to detect potential exploitation attempts. Finally, educate development and security teams about the importance of strict input validation in authorization logic to prevent similar issues.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

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/20/2026, 10:40:11 PM

Last updated: 3/21/2026, 12:15:48 AM

Views: 12

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

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

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses