[release-4.17] OCPBUGS-103326: Replace golang.org/x/net with sustaining fork for CVE-2026-33814 - #140
Conversation
…E-2026-33814 in 4.17 Signed-off-by: atewari <atewari@redhat.com>
|
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 |
|
@atewari-rh: This pull request references Jira Issue OCPBUGS-103326, 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. |
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
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 |
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.Replace
golang.org/x/netwith the backported fix published atgithub.com/openshift-sustaining/net@v0.35.0-sec.3, which carries thes.Valid()validation fix on top of the same base already in use, withoutrequiring a Go toolchain bump.
Changes
go.mod/go.sum: replacegolang.org/x/netwithgithub.com/openshift-sustaining/net v0.35.0-sec.3.providers/go.mod/providers/go.sum: add the samereplace golang.org/x/net => github.com/openshift-sustaining/net v0.35.0-sec.3directive (this module has its own independent
vendor/, sincerelease-4.17predates thego.workworkspace layout used on newerbranches).
test/e2e/go.mod/test/e2e/go.sum: add the same replace directive.This module was still referencing
golang.org/x/netwithout the backportedfix, so it was updated to stay consistent across all modules.
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.35.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.release-4.17build environment requirements— no CI
build_root_image/ci-operator.yamlchanges needed.Why not bump the module directly?
Directly bumping to
golang.org/x/net v0.53.0isn't viable here because therelease-4.17CI build root uses an older Go toolchain version, andx/netv0.53.0's
go.modrequires a newer Go toolchain than is available in thisbranch's build environment.
Verification
go build ./...passes in the root module,providers/, and thetest/e2emodule trees.s.Valid()fix present invendor/golang.org/x/net/http2/transport.goand
server.goin all vendor trees.github.com/openshift-sustaining/net@v0.35.0-sec.3'sgo.modis compatible with this branch's Go toolchain.
Related