[release-4.19] OCPBUGS-103773: Replace golang.org/x/net with sustaining fork for CVE-2026-33814 - #137
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@atewari-rh: This pull request references Jira Issue OCPBUGS-103773, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
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. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
|
Hi @atewari-rh. Thanks for your PR. I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions 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. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
…master OCPCLOUD-2845: Merge https://github.com/kubernetes/cloud-provider-gcp:master (1316392) into master
def401d to
cfa2dbc
Compare
Summary
Fixes CVE-2026-33814, a High-severity denial-of-service vulnerability in the
golang.org/x/net/http2implementation (and Go's std-lib vendored copy ofHTTP/2). A malicious peer can send a stream of invalid/oversized HTTP/2
SETTINGS frames that are not properly validated, allowing a DoS against any
process using
golang.org/x/net/http2as either a client or server.Since
release-4.19is pinned to Go 1.23 (rhel-9-release-golang-1.23-openshift-4.19)and the upstream fix for this CVE only ships in
golang.org/x/net>= v0.53.0(which requires Go >= 1.23.4 toolchain features not available here), this PR
follows the same sustaining-fork approach used in
cloud-provider-vsphere#134:
replace
golang.org/x/netwith the backported fix published atgithub.com/openshift-sustaining/net@v0.43.0-sec.3, which carries thes.Valid()validation fix on top of the samev0.42.0base already in use,without requiring a Go toolchain bump.
Changes
go.mod/go.sum: replacegolang.org/x/net(previously pinned togolang.org/x/net v0.17.0via an old replace) withgithub.com/openshift-sustaining/net v0.43.0-sec.3.providers/go.mod/providers/go.sum: add the samereplace golang.org/x/net => github.com/openshift-sustaining/net v0.43.0-sec.3directive (this module has its own independent
vendor/, sincerelease-4.19predates thego.workworkspace layout used on newerbranches).
test/e2e/go.mod/test/e2e/go.sum: add the same replace directive.This module was still referencing the vulnerable
golang.org/x/net v0.35.0with no replace at all, so it was missed by the initial pass.
vendor/,providers/vendor/, andtest/e2e/vendor/viago mod tidy && go mod vendorin each module so the vendored copies ofgolang.org/x/net/http2/{transport,server}.goinclude thes.Valid()check, and
vendor/modules.txtin each module correctly records the=> github.com/openshift-sustaining/net v0.43.0-sec.3replace.x/crypto,x/mod,x/sync,x/sys,x/term,x/text,x/tools) pulled in automatically bygo mod tidyto satisfy the sustaining fork'sgo.modrequirements.go 1.23.0— no CIbuild_root_image/ci-operator.yamlchanges needed.Why not bump the module directly?
Directly bumping to
golang.org/x/net v0.53.0(as was done onrelease-4.22)isn't viable here because the
release-4.19CI build root only providesGo 1.23, and
x/netv0.53.0'sgo.modrequires a newer Go toolchain thanis available in this branch's build environment.
Verification
go build ./...passes in the root module,providers/, and thetest/e2evendor/golang.org/x/net/...package tree.s.Valid()fix present invendor/golang.org/x/net/http2/transport.goand
server.goin all three vendor trees.github.com/openshift-sustaining/net@v0.43.0-sec.3'sgo.moddeclares
go 1.23.0, matching this branch's toolchain.Related