Skip to content

OCPBUGS-86883:[release-4.14] bump google.golang.org/grpc to v1.79.3#94

Open
AkashMore08 wants to merge 4 commits into
openshift:mainfrom
AkashMore08:OCPBUGS-86883-release-4.14
Open

OCPBUGS-86883:[release-4.14] bump google.golang.org/grpc to v1.79.3#94
AkashMore08 wants to merge 4 commits into
openshift:mainfrom
AkashMore08:OCPBUGS-86883-release-4.14

Conversation

@AkashMore08

@AkashMore08 AkashMore08 commented Jun 5, 2026

Copy link
Copy Markdown

Address CVE-2026-33186 via transitive dependency update

This PR resolves CVE-2026-33186 for release-4.14 by replacing google.golang.org/grpc with github.com/openshift-sustaining/grpc-go@v1.64.1-sec.1, a patched fork containing security fixes equivalent to upstream v1.79.3.

Along with the CVE fix, we had to manually bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc to v1.17.0.

Why otlptracegrpc was bumped to v1.17.0?

Replacing google.golang.org/grpc with v1.64.1-sec.1 changes the module graph the new grpc version requires higher minimum versions of shared dependencies (google.golang.org/protobuf v1.33.0, golang.org/x/net v0.26.0, etc.). This forces go mod tidy to re-resolve the entire dependency tree, which exposes a pre-existing broken module resolution in otlptracegrpc v1.10.0 through v1.16.0.

These versions depend on internal packages (go.opentelemetry.io/otel/exporters/otlp/internal, go.opentelemetry.io/otel/exporters/otlp/internal/envconfig) that were resolved via local replace directives within the OpenTelemetry monorepo during development. When consumed from the Go module proxy, those local replaces are ignored, and go mod tidy fails because the enclosing module (go.opentelemetry.io/otel/exporters/otlp@v0.20.1) does not contain these packages.

otlptracegrpc v1.17.0 is the first version that inlined these internal packages and removed the broken external module dependency. This bump then transitively upgrades otelgrpc (from v0.35.0 to v0.49.0), the core otel SDK, and other shared dependencies are auto-resolved by go mod tidy.

Summary by CodeRabbit

  • Chores
    • Updated Go module dependencies, advancing core Kubernetes modules from v0.27.1 to v0.27.7.
    • Bumped OpenShift-related module versions and refreshed indirect dependencies across the gRPC ecosystem, OpenTelemetry, and various utility libraries.
    • Modified module replace directives to optimize dependency management.

@openshift-ci-robot openshift-ci-robot added jira/severity-important Referenced Jira bug's severity is important for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Jun 5, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@AkashMore08: This pull request references Jira Issue OCPBUGS-86883, which is invalid:

  • expected the vulnerability to target either version "5.0." or "openshift-5.0.", but it targets "4.14.z" instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Address CVE-2026-33186 via transitive dependency update

This PR resolves CVE-2026-33186 for release-4.14 by replacing google.golang.org/grpc with github.com/openshift-sustaining/grpc-go@v1.64.1-sec.1, a patched fork containing security fixes equivalent to upstream v1.79.3.

Along with the CVE fix, we had to manually bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc to v1.17.0.

Why otlptracegrpc was bumped to v1.17.0?

Replacing google.golang.org/grpc with v1.64.1-sec.1 changes the module graph the new grpc version requires higher minimum versions of shared dependencies (google.golang.org/protobuf v1.33.0, golang.org/x/net v0.26.0, etc.). This forces go mod tidy to re-resolve the entire dependency tree, which exposes a pre-existing broken module resolution in otlptracegrpc v1.10.0 through v1.16.0.

These versions depend on internal packages (go.opentelemetry.io/otel/exporters/otlp/internal, go.opentelemetry.io/otel/exporters/otlp/internal/envconfig) that were resolved via local replace directives within the OpenTelemetry monorepo during development. When consumed from the Go module proxy, those local replaces are ignored, and go mod tidy fails because the enclosing module (go.opentelemetry.io/otel/exporters/otlp@v0.20.1) does not contain these packages.

otlptracegrpc v1.17.0 is the first version that inlined these internal packages and removed the broken external module dependency. This bump then transitively upgrades otelgrpc (from v0.35.0 to v0.49.0), the core otel SDK, and other shared dependencies are auto-resolved by go mod tidy.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 5, 2026
@openshift-ci

openshift-ci Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

PR needs rebase.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@coderabbitai

coderabbitai Bot commented Jun 5, 2026

Copy link
Copy Markdown

Caution

Review failed

An error occurred during the review process. Please try again later.

Walkthrough

This PR upgrades Go module dependencies in go.mod, advancing Kubernetes and OpenShift core direct dependencies to v0.27.7, cascading indirect dependency updates across the gRPC, protobuf, telemetry, and Kubernetes ecosystem, and simplifying the replace directive to a single gRPC override.

Changes

Kubernetes and OpenShift Dependency Upgrade

Layer / File(s) Summary
Core Kubernetes and OpenShift direct dependencies upgrade
go.mod
Direct dependencies advanced: Kubernetes modules (k8s.io/api, k8s.io/apimachinery, k8s.io/client-go, k8s.io/component-base, k8s.io/controller-manager, k8s.io/kubernetes) bumped from v0.27.1 to v0.27.7; OpenShift modules (github.com/openshift/api, build-machinery-go, client-go, library-go) updated to newer revisions.
Indirect dependency cascade
go.mod
Transitive dependencies refreshed across gRPC ecosystem (grpc-gateway/v2 v2.7.0 → v2.16.0), telemetry (OpenTelemetry contrib, core, and OTLP exporters), protobuf/gRPC stack, golang.org/x/* modules, and Kubernetes indirect modules (k8s.io/apiserver, cloud-provider, component-helpers, kms, kube-openapi, kubelet, utils, konnectivity-client).
Replace directive simplification
go.mod
Multi-entry replace block pinning many k8s.io/* modules removed; replaced with single directive: google.golang.org/grpc => github.com/openshift-sustaining/grpc-go v1.64.1-sec.1.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

ok-to-test

Suggested reviewers

  • frobware
  • rfredette
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

Tools execution failed with the following error:

Failed to run tools: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error)


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci Bot requested review from bentito and davidesalerno June 5, 2026 15:02
@openshift-ci

openshift-ci Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: AkashMore08
Once this PR has been reviewed and has the lgtm label, please assign frobware for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci

openshift-ci Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

@AkashMore08: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/okd-scos-images 7c267a2 link true /test okd-scos-images
ci/prow/unit 7c267a2 link true /test unit
ci/prow/e2e-aws-ovn 7c267a2 link true /test e2e-aws-ovn
ci/prow/verify 7c267a2 link true /test verify
ci/prow/verify-deps 7c267a2 link true /test verify-deps
ci/prow/e2e-aws-upgrade 7c267a2 link true /test e2e-aws-upgrade
ci/prow/security 7c267a2 link false /test security
ci/prow/images 7c267a2 link true /test images
ci/prow/e2e-hypershift 7c267a2 link true /test e2e-hypershift
ci/prow/e2e-gcp 7c267a2 link true /test e2e-gcp

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

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

Labels

jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. jira/severity-important Referenced Jira bug's severity is important for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants