Skip to content

chore(deps): bump google.golang.org/grpc to v1.79.3 (CVE)#124

Open
gdrojas wants to merge 1 commit into
mainfrom
chore/upgrade-grpc-cve-21
Open

chore(deps): bump google.golang.org/grpc to v1.79.3 (CVE)#124
gdrojas wants to merge 1 commit into
mainfrom
chore/upgrade-grpc-cve-21

Conversation

@gdrojas

@gdrojas gdrojas commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes Dependabot alert #21 (CRITICAL): gRPC-Go authorization bypass via missing leading slash in :path.

The vulnerability allowed authorization interceptors (including the official grpc/authz package) to evaluate non-canonical :path strings, potentially bypassing "deny" policy rules in setups with a fallback "allow" rule.

While this provider does not use grpc/authz directly, the transitive dependency is patched as a hygiene measure to clear the Dependabot alert.

Changes

Dependency bump

google.golang.org/grpc v1.67.1v1.79.3 (came in transitively via github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0; pinned directly here to override).

Collateral (forced by go mod tidy)

  • go directive: 1.23.01.24.0
  • Transitive bumps: golang.org/x/{crypto,mod,net,sync,sys,text,tools}, google.golang.org/{genproto/googleapis/rpc,protobuf}, google/go-cmp

Pre-existing lint fix

nullplatform/null_client.go:331 had a printf vet violation that the stricter go 1.24 toolchain now flags:

-    return fmt.Errorf(diag[0].Summary)
+    return fmt.Errorf("%s", diag[0].Summary)

The original code would misinterpret any % character in the upstream error message (e.g., URL-encoded values containing %XX sequences). One-line fix, no behavior change for messages without %.

Validation

  • go build clean

  • go vet ./... clean

  • ⚠️ go test ./... shows 2 failures — both pre-existing on main, unrelated to this upgrade:

    • TestProvider_HasChildDataSources (expected 6 data sources, found 10)
    • TestGenerateParameterValueID (hash mismatch)

    Verified by running the same tests against origin/main without this branch's changes — same 2 failures reproduce. These are tracked separately and should not block this security update.

Risk

Low. The dependency upgrade is within a major version line (v1.x), and the changes are confined to transitive deps + one lint fix. No public API of this provider changes.

Fixes Dependabot alert #21: gRPC-Go authorization bypass via missing
leading slash in HTTP/2 :path pseudo-header.

The vulnerability allowed authorization interceptors (including the
official grpc/authz package) to evaluate non-canonical path strings,
potentially bypassing "deny" policy rules in setups with a fallback
"allow" rule.

Severity: CRITICAL on the default branch dependency graph.

Changes:

- google.golang.org/grpc v1.67.1 -> v1.79.3 (transitive via
  hashicorp/terraform-plugin-sdk/v2)
- go directive 1.23.0 -> 1.24.0 (forced by go mod tidy after the
  upgrade)
- transitive bumps from go mod tidy: golang.org/x/{crypto,mod,net,
  sync,sys,text,tools}, google.golang.org/{genproto/googleapis/rpc,
  protobuf}, google/go-cmp

Also fixes a pre-existing printf vet violation in null_client.go:331
that the stricter go 1.24 vet now catches:

  return fmt.Errorf(diag[0].Summary)
  -> return fmt.Errorf("%s", diag[0].Summary)

(non-constant format string in fmt.Errorf — would misinterpret any
'%' character in the upstream error message)

Build clean, vet clean. The 2 test failures present after this change
(TestProvider_HasChildDataSources, TestGenerateParameterValueID) are
pre-existing on main and unrelated to this upgrade.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants