Skip to content

chore(deps): update module google.golang.org/grpc to v1.83.2 [security] - #176

Merged
flemzord merged 1 commit into
mainfrom
renovate/security
Sep 10, 2026
Merged

flemzord merged 1 commit into
mainfrom
renovate/security

Conversation

@NumaryBot

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
google.golang.org/grpc indirect patch v1.83.1 -> v1.83.2

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

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

More information

Details

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 permits insecure (plaintext) connections or standard credentials (where client certs are not checked), any unauthenticated remote attacker can trigger the crash.
  • mTLS / ALTS: If strict transport-level authentication is enforced at the network edge or transport layer (e.g., requiring a valid client certificate), the attacker must possess valid transport credentials to initiate the stream and trigger the panic.
Impact

An attacker can cause a complete outage of the gRPC server by sending a request missing both :authority and Host headers, provided they can successfully establish a transport connection.

Patches

The issue has been addressed in master (and backported to 1.83.2 and 1.82.2). The fix updates the HTTP/2 transport layer to reject requests missing both :authority and Host headers early, maintaining consistency with and other gRPC language implementations.

Severity

High

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Release Notes

grpc/grpc-go (google.golang.org/grpc)

v1.83.2: Release 1.83.2

Compare Source

Security


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@NumaryBot
NumaryBot requested a review from a team as a code owner September 9, 2026 02:07
@NumaryBot
NumaryBot enabled auto-merge (squash) September 9, 2026 02:07
@NumaryBot

Copy link
Copy Markdown
Contributor Author

✅ Approve — automated review

The patch cleanly updates gRPC from v1.83.1 to v1.83.2 with matching checksum changes. No regressions are evident in the diff.

No findings.

@flemzord
flemzord merged commit 055bd47 into main Sep 10, 2026
7 of 11 checks passed
@flemzord
flemzord deleted the renovate/security branch September 10, 2026 09:44
@shipfox-ai

shipfox-ai Bot commented Sep 18, 2026

Copy link
Copy Markdown

This PR is a Renovate dependency bump of the indirect module google.golang.org/grpc from v1.83.1 to v1.83.2 (security-driven, CVE-2026-84445 / GHSA-2v4p-qf9q-27wj). I verified the change against diff.patch and the checked-out tree: go.mod:220 pins google.golang.org/grpc v1.83.2 // indirect and go.sum:547-548 carry the matching v1.83.2 h1: and /go.mod h1: entries, with no stale v1.83.1 reference remaining anywhere in the repository. The diff is exactly 3 additions / 3 deletions across go.mod and go.sum — the minimal, canonical form of a Go dependency update — with no source, config, CI, or doc changes. Both GLM and Codex reported zero findings, and my independent inspection of the (very small) changed surface found nothing either model missed. Recommendation: approve.

Standards

No confirmed material finding. The diff introduces no code, names, or abstractions, so no documented-standard violation or baseline smell applies. The require line and both go.sum hashes were updated together, which is exactly what go mod tidy produces, and the // indirect annotation is preserved.

Spec

No confirmed material finding. The PR body's single operative requirement — bump indirect google.golang.org/grpc from v1.83.1 to v1.83.2 — is satisfied fully and exactly: the version pin and both checksums agree on v1.83.2, no other module changed, and there is no scope creep.

Reviewed independently by GLM (glm-5.3-flash) and DeepSeek (deepseek-v4-pro-0813) via Shipfox; verified and synthesized by GLM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

2 participants