Executive brief
gRPC-Go is a popular framework used for high-performance communication between software services. A security flaw allows attackers to bypass access controls by sending specially formatted requests that omit a required leading slash. This could allow unauthorized users to access restricted data or perform actions they should not be permitted to do, particularly in environments that rely on specific 'deny' rules for security.
Technical details
An authorization bypass exists in gRPC-Go due to improper input validation of the HTTP/2 ':path' pseudo-header. The server's routing logic was overly lenient, accepting paths that omitted the mandatory leading slash (e.g., 'Service/Method'). While the server correctly routed these requests, authorization interceptors (like grpc/authz) evaluated the raw, non-canonical string. If a security policy used 'deny' rules based on canonical paths (starting with '/') and had a fallback 'allow' rule, the malformed request would fail to match the deny rule and be permitted. This is exploitable by a remote attacker sending raw HTTP/2 frames. The vulnerability is fixed in version 1.79.3 by rejecting any path that does not begin with a leading slash.
Affected products
- gRPC gRPC-Go < 1.79.3
- Red Hat OpenShift Container Platform 4.19
Timeline
- 2026-03-17: advisory: GitHub Advisory GHSA-p77j-4mvh-x3m3 published
- 2026-03-20: disclosed: CVE-2026-33186 published to NVD
- 2026-03-17: patched: Fixed in gRPC-Go version 1.79.3
- 2026-04-29: advisory: Red Hat released security updates for OpenShift Container Platform
References
- https://github.com/grpc/grpc-go/security/advisories/GHSA-p77j-4mvh-x3m3
- https://access.redhat.com/errata/RHSA-2026:10093
- https://access.redhat.com/errata/RHSA-2026:10094
- https://access.redhat.com/errata/RHSA-2026:10105
- https://access.redhat.com/errata/RHSA-2026:10107
- https://access.redhat.com/errata/RHSA-2026:10125
- https://access.redhat.com/errata/RHSA-2026:10126