Skip to content

OCPBUGS-93750: Bump github.com/moby/moby to v28.5.2 - #10680

Open
jkaurredhat wants to merge 1 commit into
openshift:masterfrom
jkaurredhat:update-moby-5.0
Open

OCPBUGS-93750: Bump github.com/moby/moby to v28.5.2#10680
jkaurredhat wants to merge 1 commit into
openshift:masterfrom
jkaurredhat:update-moby-5.0

Conversation

@jkaurredhat

@jkaurredhat jkaurredhat commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR updates github.com/moby/moby from v27.2.1 to v28.5.2 as a precautionary dependency update.

Component Status: NOT AFFECTED by CVE-2026-41567

While the component is not vulnerable to CVE-2026-41567 (which affects Docker daemon, not client library usage), this update is done as:

  1. Precautionary dependency hygiene - keeping dependencies current
  2. v28.5.2 is latest stable v28.x - safer migration path than v2.x beta
  3. Future-proofing - reduces technical debt

Summary by CodeRabbit

  • Chores
    • Updated the Docker engine dependency and related system libraries to newer versions.
    • No user-facing features or behavior changes were introduced.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 20, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@jkaurredhat: This pull request explicitly references no jira issue.

Details

In response to this:

Summary

This PR updates github.com/moby/moby from v27.2.1 to v28.5.2 as a precautionary dependency update.

Component Status: NOT AFFECTED by CVE-2026-41567

While the component is not vulnerable to CVE-2026-41567 (which affects Docker daemon, not client library usage), this update is done as:

  1. Precautionary dependency hygiene - keeping dependencies current
  2. v28.5.2 is latest stable v28.x - safer migration path than v2.x beta
  3. Future-proofing - reduces technical debt

Why NOT AFFECTED?

The vulnerability (CVE-2026-41567) affects Docker daemon's archive upload functionality (PUT /containers/{id}/archive), which is not used by assisted-service. The component only uses the Docker client library for container management operations (start, stop, inspect).

Changes

  • github.com/moby/moby: v27.2.1 → v28.5.2
  • github.com/moby/sys/sequential: v0.5.0 → v0.6.0
  • Added: github.com/moby/sys/atomicwriter v0.1.0

Testing

  • go mod tidy completed successfully
  • go mod vendor updated vendored dependencies
  • No breaking changes in client library API

References

Related: OCPBUGS-93750


Note: This replaces the closed PR #10677 which was targeting release-5.0.

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 size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Jul 20, 2026
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Walkthrough

Updates the direct Moby dependency and adds the related indirect atomicwriter dependency in go.mod.

Changes

Moby dependency update

Layer / File(s) Summary
Dependency requirements
go.mod
Upgrades github.com/moby/moby to v28.5.2+incompatible and adds github.com/moby/sys/atomicwriter v0.1.0 as an indirect dependency.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Possibly related PRs

Suggested reviewers: eranco74, danmanor

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description has a summary and rationale, but it omits required template sections like issues, environments, testing, and checklists. Add the missing template sections: linked issues, impacted environments, testing details, and the checklist/reviewer notes.
✅ Passed checks (14 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: bumping github.com/moby/moby to v28.5.2.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed No test files or Ginkgo titles were changed; the diff is dependency/vendor updates only.
Test Structure And Quality ✅ Passed No Ginkgo test code changed; the diff only updates go.mod/go.sum and vendor files, so this checklist is not applicable.
Microshift Test Compatibility ✅ Passed PASS: The PR only changes go.mod/go.sum and vendor files; no new or modified Ginkgo test files/specs were introduced.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only updates go.mod/vendor dependencies, so SNO compatibility is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed Only go.mod, go.sum, and vendored moby/sys files changed; no deployment manifests, operator code, or controllers were modified.
Ote Binary Stdout Contract ✅ Passed PR only updates go.mod/go.sum/vendor code; touched files contain no main/init/TestMain or stdout-printing writes.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR only updates go.mod/go.sum and vendored dependencies; no new Ginkgo e2e tests or network/IP-sensitive test code were added.
No-Weak-Crypto ✅ Passed Patch only updates moby vendoring/metadata and atomicwriter file ops; no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret comparisons found.
Container-Privileges ✅ Passed Diff is limited to go.mod/go.sum/vendor files; no container/K8s manifest privilege settings were added or changed.
No-Sensitive-Data-In-Logs ✅ Passed No new logging or sensitive-data output was added; the diff is a dependency/vendor update and searches found no log/print calls or secret-bearing strings.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci
openshift-ci Bot requested review from danmanor and eranco74 July 20, 2026 17:41
@openshift-ci

openshift-ci Bot commented Jul 20, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: jkaurredhat
Once this PR has been reviewed and has the lgtm label, please assign maorfr 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

@jkaurredhat jkaurredhat changed the title NO-ISSUE: Bump github.com/moby/moby to v28.5.2 OCPBUGS-93750: Bump github.com/moby/moby to v28.5.2 Jul 20, 2026
@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-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels Jul 20, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@jkaurredhat: This pull request references Jira Issue OCPBUGS-93750, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, POST)

No GitHub users were found matching the public email listed for the QA contact in Jira (ocp-sustaining-admins@redhat.com), skipping review request.

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

Details

In response to this:

Summary

This PR updates github.com/moby/moby from v27.2.1 to v28.5.2 as a precautionary dependency update.

Component Status: NOT AFFECTED by CVE-2026-41567

While the component is not vulnerable to CVE-2026-41567 (which affects Docker daemon, not client library usage), this update is done as:

  1. Precautionary dependency hygiene - keeping dependencies current
  2. v28.5.2 is latest stable v28.x - safer migration path than v2.x beta
  3. Future-proofing - reduces technical debt

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-robot

Copy link
Copy Markdown

@jkaurredhat: This pull request references Jira Issue OCPBUGS-93750, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

No GitHub users were found matching the public email listed for the QA contact in Jira (ocp-sustaining-admins@redhat.com), skipping review request.

Details

In response to this:

Summary

This PR updates github.com/moby/moby from v27.2.1 to v28.5.2 as a precautionary dependency update.

Component Status: NOT AFFECTED by CVE-2026-41567

While the component is not vulnerable to CVE-2026-41567 (which affects Docker daemon, not client library usage), this update is done as:

  1. Precautionary dependency hygiene - keeping dependencies current
  2. v28.5.2 is latest stable v28.x - safer migration path than v2.x beta
  3. Future-proofing - reduces technical debt

Summary by CodeRabbit

  • Chores
  • Updated the Docker engine dependency and related system libraries to newer versions.
  • No user-facing features or behavior changes were introduced.

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@go.mod`:
- Line 47: Update the github.com/moby/moby dependency in go.mod to a release or
commit containing the CVE-2026-41567 fix, ensuring pkg/s3wrapper/filesystem.go
remains compatible with its direct pkg/ioutils import; alternatively, remove
that root-module dependency by replacing the import with a safe supported
equivalent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 982b7e10-2363-4dfd-8c9d-48a6616eff92

📥 Commits

Reviewing files that changed from the base of the PR and between 37c158b and ab52764.

⛔ Files ignored due to path filters (14)
  • go.sum is excluded by !**/*.sum
  • vendor/github.com/moby/moby/AUTHORS is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/moby/pkg/ioutils/buffer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/moby/pkg/ioutils/bytespipe.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/moby/pkg/ioutils/fswriters.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/moby/pkg/ioutils/fswriters_deprecated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/moby/pkg/ioutils/readers.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/moby/pkg/ioutils/writeflusher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/moby/pkg/ioutils/writers.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/sys/atomicwriter/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/sys/atomicwriter/atomicwriter.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/sys/sequential/sequential_unix.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/moby/sys/sequential/sequential_windows.go is excluded by !**/vendor/**, !vendor/**
  • vendor/modules.txt is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (1)
  • go.mod

Comment thread go.mod
@codecov

codecov Bot commented Jul 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 44.47%. Comparing base (f46558c) to head (a1bb28b).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master   #10680   +/-   ##
=======================================
  Coverage   44.47%   44.47%           
=======================================
  Files         423      423           
  Lines       73355    73355           
=======================================
+ Hits        32626    32628    +2     
+ Misses      37810    37809    -1     
+ Partials     2919     2918    -1     

see 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 24, 2026
This PR updates github.com/moby/moby from v27.2.1 to v28.5.2 for
CVE-2026-41567 remediation (precautionary measure).

CVE Details:
- CVE-2026-41567: Docker daemon arbitrary code execution via malicious
  container images during compressed archive upload operations
- Affected: Docker Engine < 29.5.1, moby/moby < v2.0.0-beta.14
- Fixed in: Docker Engine 29.5.1, moby/moby v2.0.0-beta.14
- Severity: High (CVSS 7.2)

Impact Analysis:
- This component is NOT AFFECTED by CVE-2026-41567
- Vulnerability affects Docker daemon (`dockerd`) server component only
- assisted-service uses Docker client library only, does not run daemon
- No vulnerable API endpoints (PUT /containers/{id}/archive) in use
- No CopyToContainer/CopyFromContainer functions used in application code

Why This Update:
- Precautionary dependency hygiene measure
- Updates to latest v28.x release (v28.5.2)
- No security risk from CVE-2026-41567, but newer version is safer
- v28.5.2 is safer migration path than jumping to v2.x beta

Changes:
- Updated github.com/moby/moby: v27.2.1 → v28.5.2
- Updated transitive dependencies:
  - github.com/moby/sys/sequential: v0.5.0 → v0.6.0
  - Added github.com/moby/sys/atomicwriter v0.1.0
- Ran go mod tidy and go mod vendor

GHSA: GHSA-x86f-5xw2-fm2r

Related: OCPBUGS-93750
@openshift-ci openshift-ci Bot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jul 27, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
go.mod (1)

47-47: 🔒 Security & Privacy | 🟠 Major

Do not treat v28.5.2 as the security fix; remove the root Moby dependency if possible.

OSV still lists the Moby daemon as affected, and Moby documents the root module as engine code rather than a supported library module. (pkg.go.dev) pkg/s3wrapper/filesystem.go only uses pkg/ioutils to wrap an *os.File, which already satisfies io.ReadCloser; replace that wrapper and remove this module if no other production imports remain.

As per path instructions: “New deps: justify need, check license compatibility; pin exact versions; flag known CVEs (cross-ref osv.dev); ensure SBOM/provenance attestations and Sigstore/cosign signing.”

🛠️ Proposed direction
--- pkg/s3wrapper/filesystem.go
-	"github.com/moby/moby/pkg/ioutils"

-	return ioutils.NewReadCloserWrapper(fp, fp.Close), info.Size(), nil
+	return fp, info.Size(), nil

--- go.mod
-	github.com/moby/moby v28.5.2+incompatible

Verify that no other production package imports github.com/moby/moby before removing the module.

#!/bin/bash
set -euo pipefail

rg -n '"github.com/moby/moby(/|")' --glob '*.go' .
go mod why -m github.com/moby/moby
go list -deps ./... | rg 'github.com/moby/moby/(daemon|pkg/ioutils)'
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@go.mod` at line 47, Remove the root github.com/moby/moby dependency from
go.mod after verifying no production imports remain, including the existing
pkg/ioutils usage in pkg/s3wrapper/filesystem.go. Replace that wrapper with the
*os.File’s native io.ReadCloser behavior, update imports and tests as needed,
then run dependency checks to confirm Moby is absent from the production
dependency graph; do not add a replacement dependency.

Sources: Path instructions, Linters/SAST tools

🧹 Nitpick comments (1)
go.mod (1)

139-140: 🔒 Security & Privacy | 🔵 Trivial

Complete the supply-chain validation for the new transitive modules.

The versions are exactly pinned, but the diff does not demonstrate license compatibility, OSV validation, SBOM/provenance generation, or artifact signing. The published atomicwriter metadata identifies v0.1.0 as Apache-2.0; confirm that this is compatible with the project and that both new Moby system modules are covered by the repository’s supply-chain controls. (pkg.go.dev)

As per path instructions: “New deps: justify need, check license compatibility; pin exact versions; flag known CVEs (cross-ref osv.dev); ensure SBOM/provenance attestations and Sigstore/cosign signing.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@go.mod` around lines 139 - 140, Complete supply-chain validation for the
newly added github.com/moby/sys/atomicwriter and github.com/moby/sys/sequential
dependencies: document their required use, confirm Apache-2.0 and any applicable
license compatibility, verify both pinned versions against OSV for known CVEs,
and ensure they are included in the repository’s SBOM/provenance and
Sigstore/cosign signing controls.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@go.mod`:
- Line 47: Remove the root github.com/moby/moby dependency from go.mod after
verifying no production imports remain, including the existing pkg/ioutils usage
in pkg/s3wrapper/filesystem.go. Replace that wrapper with the *os.File’s native
io.ReadCloser behavior, update imports and tests as needed, then run dependency
checks to confirm Moby is absent from the production dependency graph; do not
add a replacement dependency.

---

Nitpick comments:
In `@go.mod`:
- Around line 139-140: Complete supply-chain validation for the newly added
github.com/moby/sys/atomicwriter and github.com/moby/sys/sequential
dependencies: document their required use, confirm Apache-2.0 and any applicable
license compatibility, verify both pinned versions against OSV for known CVEs,
and ensure they are included in the repository’s SBOM/provenance and
Sigstore/cosign signing controls.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 1114e75b-827c-47de-96ac-95c3a04368b1

📥 Commits

Reviewing files that changed from the base of the PR and between ab52764 and a1bb28b.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (1)
  • go.mod

@openshift-ci

openshift-ci Bot commented Jul 27, 2026

Copy link
Copy Markdown

@jkaurredhat: all tests passed!

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/severity-important Referenced Jira bug's severity is important for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants