Skip to content

← Public intelligence

Go package

google.golang.org/grpc

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

7 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. High, CVSS 8.7GoAmendedPublished

    gRPC-Go xDS servers: Denial of Service (DoS) via crash due to missing :authority and Host headers

    CVE-2026-84445 · GHSA-2v4p-qf9q-27wj

    Affected
    • Go google.golang.org/grpc < 1.82.2; >= 1.83.0, < 1.83.2; >= 1.84.0-dev, < 1.84.0-dev.0.20260825144003-d5a41119e0e3; >= 1.85.0-dev, < 1.85.0-dev.0.20260825072537-93e31b48545e
    Fixed in
    1.84.0-dev.0.20260825144003-d5a41119e0e31.83.21.82.21.85.0-dev.0.20260825072537-93e31b48545e· Vendor fix available
    Issue
    A vulnerability exists in gRPC-Go servers configured with xds.NewGRPCServer() where a crafted request missing both :authority and Host headers can cause a server panic, resulting in a Denial of Service (DoS). Servers built with xds.NewGRPCServer install an xDS routing interceptor on every RPC. This interceptor looks up the request’s :authority header to pick a virtual host. The HTTP/2 server transport previously accepted requests that had neither :authority nor Host. When this happened, the xDS routing interceptor attempted to access the first element of an empty slice of authorities, leading to an index out of bounds panic. Since the per-RPC goroutine does not recover from panics, the entire server process would terminate. This panic occurs in the interceptor pipeline, meaning the transport credentials handshake (TLS, mTLS, or ALTS) and HTTP/2 connection establishment must complete successfully before the crafted request can reach this logic. - Insecure/Standard TLS: If the server…

    Recommended action: Upgrade to 1.85.0-dev.0.20260825072537-93e31b48545e (pre-release), 1.84.0-dev.0.20260825144003-d5a41119e0e3 (pre-release), 1.83.2 or 1.82.2 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)osv.dev (2)github.com (3)Source checked Evidence →
  2. Medium, CVSS 6.3GoAmendedPublished

    gRPC-Go: xDS RBAC HTTP Filter bypass via mixed-case Header Matching and gRFC A41 validation evasion

    CVE-2026-84303 · GHSA-qc2q-p7wx-3px3

    Affected
    • Go google.golang.org/grpc <= 1.83.0
    Fixed in
    1.83.1· Vendor fix available
    Issue
    A vulnerability in the xDS RBAC HTTP filter implementation in grpc-go allows remote attackers to bypass authorization policies (specifically DENY rules) by using mixed-case or canonical-case header matchers (e.g., X-Role instead of x-role). Additionally, the safety guards introduced by gRFC A41 to block grpc- prefixed headers can be evaded via variations in casing (e.g., Grpc-Status). Impact When an operator defines an RBAC policy referencing headers containing uppercase letters (e.g. X-Role), grpc-go fails to match incoming metadata keys because they are unconditionally lowercased. Because of this case-sensitivity mismatch, a policy designed to block requests containing specific header values fails open: the rule is evaluated as a non-match, and traffic that should have been rejected is served. Furthermore, gRFC A41 requires rejecting configuration schemas specifying header matchers starting with grpc-. Because this check is executed case-sensitively in grpc-go, attackers…

    Recommended action: Upgrade to 1.83.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)osv.dev (2)github.com (3)Source checked Evidence →
  3. High, CVSS 8.7GoAmendedPublished

    gRPC-Go: Heap Memory Exhaustion (OOM) via HTTP/2 DATA Frame Fragmentation

    CVE-2026-84304 · GHSA-vp52-pcj8-j9qc

    Affected
    • Go google.golang.org/grpc <= 1.83.0
    Fixed in
    1.83.1· Vendor fix available
    Issue
    Impact An unauthenticated remote attacker can initiate a gRPC stream and purposefully fragment their payload into millions of tiny (e.g., 1-byte) HTTP/2 DATA frames. Even if the total payload volume falls within the configured connection and stream flow-control windows, each independent fragment incurs memory overhead due to internal tracking structures and queue allocation. Repeated fragmentation massively inflates the heap space consumed by the stream. An attacker multiplexing multiple concurrent streams can exhaust the memory bounds of the runtime, forcing a runtime panic or OutOfMemory condition and leading to a remote Denial of Service (DoS). Patches The change to fix this issue is merged in master and a patch release, 1.83.1, has been published that contains this fix. Workarounds This vulnerability is mitigated by implementing receive buffer compaction. Consecutive small data buffers are automatically coalesced into larger buffers from a shared pool once the overhead is…

    Recommended action: Upgrade to 1.83.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)osv.dev (2)github.com (3)Source checked Evidence →
  4. High, CVSS 8.8GoAmendedPublished

    gRPC-Go: xDS RBAC and HTTP/2 Vulnerabilities

    GHSA-hrxh-6v49-42gf

    Affected
    • Go google.golang.org/grpc < 1.82.1
    Fixed in
    1.82.1· Vendor fix available
    Issue
    Multiple security vulnerabilities have been identified and addressed in grpc-go affecting the xDS RBAC authorization engine (internal/xds/rbac) and the HTTP/2 transport server implementation (internal/transport). These vulnerabilities could result in: - Authorization Bypass (Fail-Open) when translating xDS RBAC policies containing Metadata or RequestedServerName fields. - Denial of Service (High CPU Consumption) due to an HTTP/2 Rapid Reset mitigation bypass during client-initiated stream resets. - Denial of Service (Server Panic) when parsing crafted xDS RBAC policies containing NOT rules around unsupported fields. Impact What kind of vulnerability is it? Who is impacted? xDS RBAC Authorization Bypass via Metadata & RequestedServerName matchers - Affected Component: xDS RBAC - Impact: When building policy matchers for gRPC RBAC from xDS configurations, unsupported permission and principal rules (specifically Metadata and RequestedServerName) were silently ignored and treated as…

    Recommended action: Upgrade to 1.82.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  5. Critical, CVSS 9.1GoPublished

    gRPC-Go has an authorization bypass via missing leading slash in :path

    CVE-2026-33186 · GHSA-p77j-4mvh-x3m3

    Affected
    • Go google.golang.org/grpc < 1.79.3
    Fixed in
    1.79.3· Vendor fix available
    Issue
    Impact 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: 1. They 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…

    Recommended action: Upgrade to 1.79.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  6. UnratedGoPublished

    Private tokens could appear in logs if context containing gRPC metadata is logged in github.com/grpc/grpc-go

    GHSA-xr7q-jx4m-x55m

    Affected
    • Go google.golang.org/grpc >= 1.64.0, < 1.64.1
    Fixed in
    1.64.1· Vendor fix available
    Issue
    Impact This issue represents a potential PII concern. If applications were printing or logging a context containing gRPC metadata, the affected versions will contain all the metadata, which may include private information. Patches The issue first appeared in 1.64.0 and is patched in 1.64.1 and 1.65.0 Workarounds If using an affected version and upgrading is not possible, ensuring you do not log or print contexts will avoid the problem.

    Recommended action: Upgrade to 1.64.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  7. High, CVSS 7.5GoPublished

    gRPC-Go HTTP/2 Rapid Reset vulnerability

    GHSA-m425-mq94-257g

    Affected
    • Go google.golang.org/grpc < 1.56.3; >= 1.57.0, < 1.57.1; >= 1.58.0, < 1.58.3
    Fixed in
    1.58.31.57.11.56.3· Vendor fix available
    Issue
    Impact In affected releases of gRPC-Go, it is possible for an attacker to send HTTP/2 requests, cancel them, and send subsequent requests, which is valid by the HTTP/2 protocol, but would cause the gRPC-Go server to launch more concurrent method handlers than the configured maximum stream limit. Patches This vulnerability was addressed by #6703 and has been included in patch releases: 1.56.3, 1.57.1, 1.58.3. It is also included in the latest release, 1.59.0. Along with applying the patch, users should also ensure they are using the grpc.MaxConcurrentStreams server option to apply a limit to the server's resources used for any single connection. Workarounds None. References #6703

    Recommended action: Upgrade to 1.58.3, 1.57.1 or 1.56.3 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →