Skip to content

[release-0.99] CVE-2026-33186: Bump grpc#2683

Open
sbiradar10 wants to merge 1 commit intokubevirt:release-0.99from
sbiradar10:CNV-82853
Open

[release-0.99] CVE-2026-33186: Bump grpc#2683
sbiradar10 wants to merge 1 commit intokubevirt:release-0.99from
sbiradar10:CNV-82853

Conversation

@sbiradar10
Copy link
Copy Markdown
Contributor

@sbiradar10 sbiradar10 commented Apr 20, 2026

Bump grpc to 1.79.3 leads to go lang bump so i used grpc folk to avoid this:

Used below command for replace:

go mod edit -replace google.golang.org/grpc=github.com/openshift-sustaining/grpc-go@v1.75.1-sec.1

Signed-off-by: Super User <sbiradar@redhat.com>
@kubevirt-bot kubevirt-bot added dco-signoff: yes Indicates the PR's author has DCO signed all their commits. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Apr 20, 2026
@kubevirt-bot kubevirt-bot requested review from RamLavi and qinqon April 20, 2026 09:44
@sbiradar10
Copy link
Copy Markdown
Contributor Author

/release-note-none

@kubevirt-bot kubevirt-bot added release-note-none Denotes a PR that doesn't merit a release note. and removed do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Apr 20, 2026
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
5 Security Hotspots
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Comment thread go.mod
kubevirt.io/client-go => kubevirt.io/client-go v1.4.0
)

replace google.golang.org/grpc => github.com/openshift-sustaining/grpc-go v1.75.1-sec.1
Copy link
Copy Markdown
Collaborator

@RamLavi RamLavi Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sbiradar10 can you explain this replace?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

grpc 1.79.3 require go 1.24 version. and this repo using 1.23 so our team(sustaining team) created this folk for lower go version.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the diff from the original repo?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In original repo we dont have any remediation for lower go lang version. > 1.23
so we forked it and created patch till 1.23

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it's not too troublesome, could you please show me the commit you branched from on the original, and the PR(s) diff since you branched

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@RamLavi
Copy link
Copy Markdown
Collaborator

RamLavi commented Apr 20, 2026

@gemini-code-assist review this PR

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates several dependencies and their vendored code, including major components of OpenTelemetry and gRPC. It also introduces a replace directive in go.mod to use a fork of the grpc-go library and adds new internal telemetry and auto-instrumentation SDK packages. I have no feedback to provide.

@sbiradar10
Copy link
Copy Markdown
Contributor Author

hey @RamLavi can you please check this?

@RamLavi
Copy link
Copy Markdown
Collaborator

RamLavi commented Apr 23, 2026

Hey @sbiradar10
The fork diff seems legit and easy enough to follow, so I’m not objecting to using a fork by itself, but I’m uneasy with the scope of this PR.

The description makes this sound like a narrow security backport, but the actual change appears to pull CNAO from google.golang.org/grpc v1.65.0 to the 1.75.x codebase via a replace, and it also brings substantial transitive vendor churn (otel, protobuf, genproto, etc). On a release branch, that feels materially broader than a CVE-only fix.

Can you please clarify:

  1. Why can’t the strict-path fix be backported onto the currently used grpc line instead of effectively upgrading to 1.75.x?
  2. What is the exact upstream base for github.com/openshift-sustaining/grpc-go v1.75.1-sec.1, and what is the minimal diff from upstream?
  3. What testing was run to give confidence that the broader grpc/vendor changes don’t introduce regressions?

If this is truly the smallest viable fix, I think the PR description should say that explicitly. Right now “bump grpc” understates the actual scope of the change.

@sbiradar10
Copy link
Copy Markdown
Contributor Author

@Atharva-Shinde ^^ can you please reply here?

@Atharva-Shinde
Copy link
Copy Markdown

Hey @RamLavi

Why can’t the strict-path fix be backported onto the currently used grpc line instead of effectively upgrading to 1.75.x?

It is not pragmatic to backport the fix to each grpc version available.

What is the exact upstream base for github.com/openshift-sustaining/grpc-go v1.75.1-sec.1, and what is the minimal diff from upstream?

github.com/openshift-sustaining/grpc-go v1.75.1-sec.1 is based upon the tag https://github.com/openshift-sustaining/grpc-go/tree/v1.75.1.
Here is the openshift-sustaining/grpc-go diff: openshift-sustaining/grpc-go@v1.75.1...v1.75.1-sec.1 and this is the diff between the upstream and the openshift-sustaining/grpc-go for v1.75.1: grpc/grpc-go@v1.75.1...openshift-sustaining:grpc-go:v1.75.1

What testing was run to give confidence that the broader grpc/vendor changes don’t introduce regressions?

The patch specific unit tests from the grpc-go module were used for testing the patches, moreover the unit and e2e test suite of the component(in this case cluster-network-addons-operator) should be able to capture any build or regression related issues.

@sbiradar10
Copy link
Copy Markdown
Contributor Author

hey @RamLavi can you have a look here?

@RamLavi
Copy link
Copy Markdown
Collaborator

RamLavi commented Apr 29, 2026

grpc-go supports only last 2 releases, so the 1.65 CNAO uses here is no longer supported, which explains why they don't have it.
@Atharva-Shinde for future reference, please try to fork from the closest release that the repo is using.
But I tend to agree that since CI is passing then the risk is low.

/approve

@kubevirt-bot
Copy link
Copy Markdown
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: RamLavi

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

The pull request process is described 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

@kubevirt-bot kubevirt-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 29, 2026
@kubevirt-bot kubevirt-bot added the lgtm Indicates that a PR is ready to be merged. label Apr 29, 2026
@RamLavi RamLavi removed the lgtm Indicates that a PR is ready to be merged. label Apr 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. release-note-none Denotes a PR that doesn't merit a release note. size/XXL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants