CVE-2026-33186: gRPC-Go has an authorization bypass via missing leading slash in :path
What kind of vulnerability is it? Who is impacted?
It is 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.
Who is impacted? This affects gRPC-Go servers that meet both of the following criteria:
- They use path-based authorization interceptors, such as the official RBAC implementation in
google.golang.org/grpc/authzor custom interceptors relying oninfo.FullMethodorgrpc.Method(ctx). - Their 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.
References
Code Behaviors & Features
Detect and mitigate CVE-2026-33186 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →