[release-4.19] OCPBUGS-103704: Replace golang.org/x/net with github.com/openshift-sustaining/net v0.35.0-sec.4 - #223
Conversation
…om/openshift-sustaining/net v0.35.0-sec.4 Signed-off-by: atewari <atewari@redhat.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@atewari-rh: This pull request references Jira Issue OCPBUGS-103704, 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:
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 |
OCPBUGS-103704: Replace
golang.org/x/netwith OpenShift sustaining forkIssue: https://issues.redhat.com/browse/OCPBUGS-103704
Summary
Replace
golang.org/x/netwith the OpenShift sustaining fork:This allows
oauth-apiserverto pick up the fix for CVE-2026-33814, along with the stackedx/netsecurity backports included in this tag, without moving the component off the Go 1.22 toolchain.Why a
replaceUpstream fixed CVE-2026-33814 in
golang.org/x/netv0.53.0, which requires Go 1.25.This branch currently uses:
Therefore, directly upgrading
golang.org/x/netto the upstream fixed version would require a toolchain change.Instead, this change uses the OpenShift sustaining fork's Go 1.18 / OCP 4.18 line:
This follows the same sustaining-fork approach used by other OCP 4.18/4.19 security updates.
Fork release: https://github.com/openshift-sustaining/net/releases/tag/v0.35.0-sec.4
Vulnerability
CVE-2026-33814 affects the HTTP/2 implementation in
golang.org/x/net.A crafted HTTP/2
SETTINGSframe withSETTINGS_MAX_FRAME_SIZE=0can cause the transport to enter an infiniteCONTINUATIONwrite loop, resulting in a denial of service (DoS / CWE-835).oauth-apiserverserves HTTPS throughk8s.io/apiserver, which imports:The vulnerable HTTP/2 implementation is therefore present on the serving path.
Security fixes included in
v0.35.0-sec.4The sustaining tag is cumulative and includes the following security backports:
| Tag | CVE | Package | | :--- | :---: | ---: | | sec.1 | CVE-2026-39821 | x/net/idna | | sec.2 | CVE-2026-25681 | x/net/html | | sec.3 | CVE-2026-33814 | x/net/http2 | | sec.4 | CVE-2026-27136 | x/net/html |What changed
Updated
go.modwith the sustaining forkreplacedirective.Updated
go.sumwith the corresponding checksums.Re-vendored the dependency under
vendor/.go mod tidymay refresh relatedgolang.org/x/*dependencies such as:x/sysx/textx/cryptox/termand other copies affected by dependency resolution.
What did not change
No operator code changes.
No API behavior changes.
No OAuth token or authorization behavior changes.
No toolchain upgrade.
go 1.22.0/toolchain go1.22.1remain unchanged.Validation
The change is limited to dependency resolution and vendored dependency updates. Existing
oauth-apiserverfunctionality and OAuth behavior remain unchanged.The primary goal is to consume the security fixes from the OpenShift sustaining fork while retaining compatibility with the Go 1.22 toolchain.