Source: golang-google-grpc
Version: 1.66.3-2
Severity: grave
Tags: security upstream
Justification: user security hole
X-Debbugs-Cc: [email protected], Debian Security Team <[email protected]>

Hi,

The following vulnerability was published for golang-google-grpc.

CVE-2026-33186[0]:
| 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.


If you fix the vulnerability please also make sure to include the
CVE (Common Vulnerabilities & Exposures) id in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2026-33186
    https://www.cve.org/CVERecord?id=CVE-2026-33186
[1] https://github.com/grpc/grpc-go/security/advisories/GHSA-p77j-4mvh-x3m3
[2] 
https://github.com/grpc/grpc-go/commit/72186f163e75a065c39e6f7df9b6dea07fbdeff5

Please adjust the affected versions in the BTS as needed.

Regards,
Salvatore

Reply via email to