Skip to content

Bump github.com/opencontainers/runc from 1.1.12 to 1.2.0 #18

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Mar 20, 2025

Bumps github.com/opencontainers/runc from 1.1.12 to 1.2.0.

Release notes

Sourced from github.com/opencontainers/runc's releases.

runc v1.2.0 -- "できるときにできることをやるんだ。それが今だ。"

This is the long-awaited release of runc 1.2.0! The primary changes from rc3 are general improvements and fixes for minor regressions related to the new /proc/self/exe cloning logic in runc 1.2, follow-on patches related to CVE-2024-45310, as well as some other minor changes.

  • In order to alleviate the remaining concerns around the memory usage and (arguably somewhat unimportant, but measurable) performance overhead of memfds for cloning /proc/self/exe, we have added a new protection using overlayfs that is used if you have enough privileges and the running kernel supports it. It has effectively no performance nor memory overhead (compared to no cloning at all). (#4448)
  • The original fix for CVE-2024-45310 was intentionally very limited in scope to make it easier to review, however it also did not handle all possible os.MkdirAll cases and thus could lead to regressions. We have switched to the more complete implementation in the newer versions of github.com/cyphar/filepath-securejoin. (#4393, #4400, #4421, #4430)
  • In certain situations (a system with lots of mounts or racing mounts) we could accidentally end up leaking mounts from the container into the host. This has been fixed. (#4417)
  • The fallback logic for O_TMPFILE clones of /proc/self/exe had a minor bug that would cause us to miss non-noexec directories and thus fail to start containers on some systems. (#4444)
  • Sometimes the cloned /proc/self/exe file descriptor could be placed in a way that it would get clobbered by the Go runtime. We had a fix for this already but it turns out it could still break in rare circumstances, but it has now been fixed. (#4294, #4452)
  • It is not possible for runc kill to work properly in some specific configurations (such as rootless containers with no cgroups and a shared pid namespace). We now output a warning for such configurations. (#4398)
  • memfd-bind: update the documentation and make path handling with the systemd unit more idiomatic. (#4428)
  • We now use v0.16 of Cilium's eBPF library, including fixes that quite a few downstreams asked for. (#4397, #4396)
  • Some internal runc init synchronisation that was no longer necessary (due to the /proc/self/exe cloning move to Go) was removed. (#4441)

Static Linking Notices

The runc binary distributed with this release are statically linked with the following GNU LGPL-2.1 licensed libraries, with runc acting as a "work that uses the Library":

The versions of these libraries were not modified from their upstream versions, but in order to comply with the LGPL-2.1 (§6(a)), we have attached the

... (truncated)

Changelog

Sourced from github.com/opencontainers/runc's changelog.

[1.2.0] - 2024-10-22

できるときにできることをやるんだ。それが今だ。

Added

  • In order to alleviate the remaining concerns around the memory usage and (arguably somewhat unimportant, but measurable) performance overhead of memfds for cloning /proc/self/exe, we have added a new protection using overlayfs that is used if you have enough privileges and the running kernel supports it. It has effectively no performance nor memory overhead (compared to no cloning at all). (#4448)

Fixed

  • The original fix for CVE-2024-45310 was intentionally very limited in scope to make it easier to review, however it also did not handle all possible os.MkdirAll cases and thus could lead to regressions. We have switched to the more complete implementation in the newer versions of github.com/cyphar/filepath-securejoin. (#4393, #4400, #4421, #4430)
  • In certain situations (a system with lots of mounts or racing mounts) we could accidentally end up leaking mounts from the container into the host. This has been fixed. (#4417)
  • The fallback logic for O_TMPFILE clones of /proc/self/exe had a minor bug that would cause us to miss non-noexec directories and thus fail to start containers on some systems. (#4444)
  • Sometimes the cloned /proc/self/exe file descriptor could be placed in a way that it would get clobbered by the Go runtime. We had a fix for this already but it turns out it could still break in rare circumstances, but it has now been fixed. (#4294, #4452)

Changed

  • It is not possible for runc kill to work properly in some specific configurations (such as rootless containers with no cgroups and a shared pid namespace). We now output a warning for such configurations. (#4398)
  • memfd-bind: update the documentation and make path handling with the systemd unit more idiomatic. (#4428)
  • We now use v0.16 of Cilium's eBPF library, including fixes that quite a few downstreams asked for. (#4397, #4396)
  • Some internal runc init synchronisation that was no longer necessary (due to the /proc/self/exe cloning move to Go) was removed. (#4441)

[1.2.0-rc.3] - 2024-09-02

The supreme happiness of life is the conviction that we are loved.

Security

  • Fix CVE-2024-45310, a low-severity attack that allowed maliciously configured containers to create empty files and directories on

... (truncated)

Commits
  • 0b9fa21 VERSION: release v1.2.0
  • 5190d61 Merge pull request #4452 from lifubang/fix-fd-reuse-race
  • ca45a2c merge #4446 into opencontainers/runc:main
  • 568231c Revert "increase memory.max in cgroups.bats"
  • e669926 fix an error caused by fd reuse race when starting runc init
  • ca8ca3c Merge pull request #4448 from cyphar/cloned-binary-overlayfs
  • 08faf15 Merge pull request #4429 from kolyshkin/cap-load
  • 515f09f dmz: use overlayfs to write-protect /proc/self/exe if possible
  • 8cfbccb tests: integration: add helper to check if we're in a userns
  • 8bebdba Merge pull request #4456 from kolyshkin/misc-ci-cleanups
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Summary by Bito

This pull request updates the go.mod file with a new toolchain version and several dependency upgrades, primarily bumping github.com/opencontainers/runc from v1.1.12 to v1.2.0. These changes aim to improve compatibility, performance, and security as outlined in the release notes, modernizing the project's dependency management.

Unit tests added: False

Estimated effort to review (1-5, lower is better): 2

Bumps [github.com/opencontainers/runc](https://github.com/opencontainers/runc) from 1.1.12 to 1.2.0.
- [Release notes](https://github.com/opencontainers/runc/releases)
- [Changelog](https://github.com/opencontainers/runc/blob/main/CHANGELOG.md)
- [Commits](opencontainers/runc@v1.1.12...v1.2.0)

---
updated-dependencies:
- dependency-name: github.com/opencontainers/runc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file go Pull requests that update go code labels Mar 20, 2025
Copy link

bito-code-review bot commented Mar 20, 2025

Code Review Agent Run #7bbf11

Actionable Suggestions - 1
  • go.mod - 1
    • Consider aligning Go version with toolchain · Line 4-4
Security Concerns - 14
  • Vulnerability 1
    • Dependency Name: golang.org/x/oauth2
    • Dependency Version: None
    • Vulnerability Name: GO-2025-3488
    • Vulnerability Description: An attacker can pass a malicious malformed token which causes unexpected memory to be consumed during parsing.
    • Fixed in Version: v0.27.0
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - golang.org/x/oauth2 v0.x.x
      + golang.org/x/oauth2 v0.27.0
      
  • Vulnerability 2
    • Dependency Name: golang.org/x/net
    • Dependency Version: None
    • Vulnerability Name: GO-2024-2687
    • Vulnerability Description: An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames.
    • Fixed in Version: v0.23.0
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - golang.org/x/net v0.x.x
      + golang.org/x/net v0.36.0
      
  • Vulnerability 3
    • Dependency Name: golang.org/x/net
    • Dependency Version: None
    • Vulnerability Name: GO-2024-3333
    • Vulnerability Description: An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing.
    • Fixed in Version: v0.33.0
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - golang.org/x/net v0.x.x
      + golang.org/x/net v0.36.0
      
  • Vulnerability 4
    • Dependency Name: golang.org/x/net
    • Dependency Version: None
    • Vulnerability Name: GO-2025-3503
    • Vulnerability Description: Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component.
    • Fixed in Version: v0.36.0
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - golang.org/x/net v0.x.x
      + golang.org/x/net v0.36.0
      
  • Vulnerability 5
    • Dependency Name: stdlib
    • Dependency Version: None
    • Vulnerability Name: GO-2024-2687
    • Vulnerability Description: An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames.
    • Fixed in Version: v1.21.9
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - go 1.21.x
      + go 1.22.12
      
  • Vulnerability 6
    • Dependency Name: stdlib
    • Dependency Version: None
    • Vulnerability Name: GO-2024-2887
    • Vulnerability Description: The various Is methods did not work as expected for IPv4-mapped IPv6 addresses.
    • Fixed in Version: v1.21.11
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - go 1.21.x
      + go 1.22.12
      
  • Vulnerability 7
    • Dependency Name: stdlib
    • Dependency Version: None
    • Vulnerability Name: GO-2024-2888
    • Vulnerability Description: The archive/zip package's handling of certain types of invalid zip files differs from the behavior of most zip implementations.
    • Fixed in Version: v1.21.11
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - go 1.21.x
      + go 1.22.12
      
  • Vulnerability 8
    • Dependency Name: stdlib
    • Dependency Version: None
    • Vulnerability Name: GO-2024-2963
    • Vulnerability Description: The net/http HTTP/1.1 client mishandled the case where a server responds to a request with an "Expect: 100-continue" header with a non-informational status.
    • Fixed in Version: v1.21.12
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - go 1.21.x
      + go 1.22.12
      
  • Vulnerability 9
    • Dependency Name: stdlib
    • Dependency Version: None
    • Vulnerability Name: GO-2024-3105
    • Vulnerability Description: Calling any of the Parse functions on Go source code which contains deeply nested literals can cause a panic due to stack exhaustion.
    • Fixed in Version: v1.22.7
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - go 1.22.x
      + go 1.22.12
      
  • Vulnerability 10
    • Dependency Name: stdlib
    • Dependency Version: None
    • Vulnerability Name: GO-2024-3106
    • Vulnerability Description: Calling Decoder.Decode on a message which contains deeply nested structures can cause a panic due to stack exhaustion.
    • Fixed in Version: v1.22.7
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - go 1.22.x
      + go 1.22.12
      
  • Vulnerability 11
    • Dependency Name: stdlib
    • Dependency Version: None
    • Vulnerability Name: GO-2024-3107
    • Vulnerability Description: Calling Parse on a "// +build" build tag line with deeply nested expressions can cause a panic due to stack exhaustion.
    • Fixed in Version: v1.22.7
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - go 1.22.x
      + go 1.22.12
      
  • Vulnerability 12
    • Dependency Name: stdlib
    • Dependency Version: None
    • Vulnerability Name: GO-2025-3373
    • Vulnerability Description: A certificate with a URI which has a IPv6 address with a zone ID may incorrectly satisfy a URI name constraint that applies to the certificate chain.
    • Fixed in Version: v1.22.11
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - go 1.22.x
      + go 1.22.12
      
  • Vulnerability 13
    • Dependency Name: stdlib
    • Dependency Version: None
    • Vulnerability Name: GO-2025-3420
    • Vulnerability Description: The HTTP client drops sensitive headers after following a cross-domain redirect but incorrectly restores them for subsequent same-domain redirects.
    • Fixed in Version: v1.22.11
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - go 1.22.x
      + go 1.22.12
      
  • Vulnerability 14
    • Dependency Name: stdlib
    • Dependency Version: None
    • Vulnerability Name: GO-2025-3447
    • Vulnerability Description: Due to the usage of a variable time instruction in the assembly implementation of an internal function, a small number of bits of secret scalars are leaked on the ppc64le architecture.
    • Fixed in Version: v1.22.12
    • Code Suggestion:
      
      @@ -1,1 +1,1 @@
      - go 1.22.x
      + go 1.22.12
      
Review Details
  • Files reviewed - 1 · Commit Range: 63b79cf..63b79cf
    • go.mod
  • Files skipped - 1
    • go.sum - Reason: Filter setting
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful
    • OWASP (Security Vulnerability) - ✔︎ Successful
    • GOVULNCHECK (Security Vulnerability) - ✔︎ Successful
    • SNYK (Security Vulnerability) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

Refer to the documentation for additional commands.

Configuration

This repository uses Default Agent You can customize the agent settings here or contact your Bito workspace admin at [email protected].

Documentation & Help

AI Code Review powered by Bito Logo

Copy link

Changelist by Bito

This pull request implements the following key changes.

Key Change Files Impacted
Other Improvements - Dependency and Toolchain Updates

go.mod - Updated go.mod by adding a new toolchain version (go1.24.1) and bumping multiple dependency versions including github.com/opencontainers/runc (v1.1.12 to v1.2.0), github.com/BurntSushi/toml, google/go-cmp, mdlayher libraries, and others to ensure improved compatibility, performance, and security.

@@ -1,6 +1,7 @@
module github.com/vmware-tanzu/cluster-api-provider-bringyourownhost

go 1.20
toolchain go1.24.1

Choose a reason for hiding this comment

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

Consider aligning Go version with toolchain

The PR adds a toolchain go1.24.1 directive to the go.mod file while the module is using go 1.20. This creates a version mismatch that could lead to unexpected behavior. Consider either updating the go directive to match the toolchain version or removing the toolchain directive if it's not needed.

Code suggestion
Check the AI-generated fix before applying
Suggested change
toolchain go1.24.1

Code Review Run #7bbf11


Should Bito avoid suggestions like this for future reviews? (Manage Rules)

  • Yes, avoid them

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file go Pull requests that update go code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants