Skip to content
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

chore(deps): update dependency containerd/containerd to v1.7.14 #3551

Merged
merged 1 commit into from Mar 11, 2024

Conversation

uniget-bot
Copy link

This PR contains the following updates:

Package Update Change
containerd/containerd patch 1.7.13 -> 1.7.14

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

containerd/containerd (containerd/containerd)

v1.7.14: containerd 1.7.14

Compare Source

Welcome to the v1.7.14 release of containerd!

The fourteenth patch release for containerd 1.7 contains various fixes and updates.

Highlights
  • Update builds to use go 1.21.8 (#​9933)
  • Fix various timing issues with docker pusher (#​9921)
  • Register imagePullThroughput and count with MiB (#​9855)
  • Move high volume event logs to Trace level (#​9823)
Container Runtime Interface (CRI)
  • Handle pod transition states gracefully while listing pod stats (#​9905)
Runtime
  • Update runc-shim to process exec exits before init (#​9928)

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

Contributors
  • Wei Fu
  • Derek McGowan
  • Maksym Pavlenko
  • Krisztian Litkey
  • Akihiro Suda
  • Justin Chadwell
  • Sebastiaan van Stijn
  • Phil Estes
  • Kirtana Ashok
  • Akhil Mohan
  • Austin Vazquez
  • Etienne Champetier
  • Jordan Liggitt
  • Kohei Tokunaga
  • Mike Brown
  • Samuel Karp
  • Davanum Srinivas
  • Edgar Lee
  • Henry Wang
  • James Sturtevant
  • Laura Brehm
  • Nashwan Azhari
  • Robbie Buxton
  • Robert-André Mauchin
  • Shukui Yang
Changes
70 commits

  • Prepare release notes for v1.7.14 (#​9953)
    • 1babe6b58 Prepare release notes for v1.7.14
  • Backport use Go toolchain in CI matrix to build binaries (#​9951)
    • a9bbbefcf Use the Go toolchain in CI matrix to build binaries
  • Update builds to use go 1.21.8 (#​9933)
  • Move inline PS scripts into files (#​9938)
    • 39caf532e Move inline PS scripts into files
  • Disable OOM set score unpriv test temporarily (#​9944)
    • 630226bb4 Disable OOM set score unpriv test temporarily
  • Update runc-shim to process exec exits before init (#​9928)
    • de7b6bae9 runc-shim: process exec exits before init
  • update to go 1.21.6, test 1.22.0 (#​9860)
    • 3b3e537ea Uninstall mingw before attempting upgrade
    • 9e24388b2 CI: Explicitly upgrade MinGW on Windows 2019 GitHub runners.
    • 5b23a4127 seccomp, apparmor: add go:noinline
    • 753422ac1 Drop go 1.20 and build against 1.22
    • a2d64218c Fix windows integration tests
    • 6379dd6f4 Update workflow files to install Go via composite action
    • a5c0d061c Extract a composite action to install Go
  • Fix various timing issues with docker pusher (#​9921)
    • 52a1402df copy: prevent potential deadlock if close before fully written
    • 872746386 copy: setError should imply Close
    • a8004007a copy: remove max number of ErrResets
    • 0465472ed pushWriter: refactor reset pipe logic into separate function
    • 2577207cc copy: improve error detection from closed pipes
    • d081da86b copy: check if writer was closed before setting a pipe
    • 2a25c085b copy: remove wrapping io.NopCloser from push writer pipe
  • Register imagePullThroughput and count with MiB (#​9855)
    • 711cebd48 Register imagePullThroughput and count with MiB
  • Update golangci-lint to v1.56.1 (#​9900)
  • Handle pod transition states gracefully while listing pod stats (#​9905)
    • 39db3f18b adjust test cases to run for windows
    • 579d8b463 [cri] Handle Windows pod transitions gracefully
  • Backport GitHub actions package updates (#​9876)
    • 8d6f0f2ae build(deps): bump golangci/golangci-lint-action from 3 to 4
    • 7929592b9 build(deps): bump actions/upload-artifact from 3 to 4
    • e11de777d build(deps): bump crazy-max/ghaction-github-runtime from 2 to 3
    • 2b40a4074 build(deps): bump actions/checkout from 3 to 4
    • 22feefa57 build(deps): bump actions/setup-go from 3 to 5
    • b96aa4012 build(deps): bump actions/upload-artifact from 1 to 3
    • 97763f91d build(deps): bump docker/setup-buildx-action from 2 to 3
    • 6875bb14f build(deps): bump github/codeql-action from 2 to 3
    • 87f9adb6b build(deps): bump actions/download-artifact from 3 to 4
  • .github: windows should use fix critool version (#​9874)
    • d9c099a9a .github: windows should use fix critool version
  • ci: update crun version to 1.14.3 (#​9850)
    • dc594b01d ci: update crun version to 1.14.3
  • Add WithMetaStore to overlay snapshotter and missing unpacker.Wait for image import (#​9837)
    • 8fe0b26f1 Add missing unpacker.Wait for image import
    • 31ea2d7d9 Add WithMetaStore to overlay snapshotter to allow bringing your own
  • Move high volume event logs to Trace level (#​9823)
    • 982e0cffb Move high volume event logs to Trace level
  • cri: propagate deprecation list to runtime status (#​9818)
    • c79ffa277 cri: propagate deprecation list to runtime status
  • ctr: print deprecation warnings on every invocation (#​9820)
    • eaebe23de ctr: print deprecation warnings on every invocation
  • bug fix: make sure cri image is pinned when it is pulled outside cri (#​9784)
    • 26c057423 bug fix: make sure cri image is pinned when it is pulled outside cri
  • go.{mod,sum}: update NRI dependency, fixing a potential fd double close error. (#​9783)
    • d3e997556 go.{mod,sum}: update NRI dependency, re-vendor.
  • Add option to perform syncfs after pull (#​9769)
    • ea0a92ec3 *: introduce image_pull_with_sync_fs in CRI
    • 4caf44032 api: introduce sync_fs to diff.ApplyRequest
  • Move certain debug logs to trace logs (#​9761)
    • 3f75af7bf Move certain debug logs to trace logs

Changes from containerd/nri
23 commits

  • socketpair_windows: remove implementation for now (containerd/nri#69)
    • e47f09b socketpair_windows: remove implementation for now
  • adaptation, stub: allow extra ttrpc client and server options. (containerd/nri#67)
    • 45b9e3f plugins: update dependencies.
    • f600cf6 go.{mod,sum}: update dependencies.
    • 13ee978 pkg/stub: add support for extra ttrpc options.
    • c4e2f81 pkg/adaptation: add support for extra ttrpc options.
  • socketpair_unix: avoid double close(), set FD_CLOEXEC (containerd/nri#66)
    • 5d0b52b sockerpair_unix: avoid double close(), set FD_CLOEXEC
  • Task: fix typo in godoc (containerd/nri#61)
  • Take pkg/hooks from github.com/containers/common (carry 46) (containerd/nri#55)
    • b4ac58c Take pkg/hooks from github.com/containers/common
  • gha: remove GOPATH and workingdir, update actions/setup-go@v4, actions/checkout@v4 (containerd/nri#53)
    • ee96969 gha: update actions/checkout@v4
    • 7b33fbf gha: update actions/setup-go@v4
    • e33ac3e gha: remove working-dir and GOPATH
  • remove containerd as dependency (containerd/nri#51)
    • da8a7e5 remove containerd as dependency
  • make plugins/ulimit-adjuster a separate module (containerd/nri#54)
    • 934815e make plugins/ulimit-adjuster a separate module
  • scripts: fix protobuf URL on arm64 (containerd/nri#52)
    • 9b43daa scripts: fix protobuf URL on arm64

Changes from containerd/ttrpc
21 commits

Dependency Changes
  • github.com/containerd/nri v0.4.0 -> v0.6.0
  • github.com/containerd/ttrpc v1.2.2 -> v1.2.3
  • google.golang.org/genproto/googleapis/rpc 782d3b1 -> cbb8c96

Previous release can be found at v1.7.13


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Copy link

@nicholasdille-bot nicholasdille-bot left a comment

Choose a reason for hiding this comment

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

Auto-approved because label type/renovate is present.

Copy link

🔍 Vulnerabilities of ghcr.io/uniget-org/tools/containerd:1.7.14

📦 Image Reference ghcr.io/uniget-org/tools/containerd:1.7.14
digestsha256:31c58ab6cb22fef5a8aab2cfd9fe9eecf72a2536d75033640362686d6550ff15
vulnerabilitiescritical: 0 high: 1 medium: 2 low: 0
platformlinux/amd64
size48 MB
packages127
critical: 0 high: 1 medium: 0 low: 0 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc 0.45.0 (golang)

pkg:golang/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@0.45.0

high 7.5: CVE--2023--47108 Allocation of Resources Without Limits or Throttling

Affected range<0.46.0
Fixed version0.46.0
CVSS Score7.5
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Description

Summary

The grpc Unary Server Interceptor opentelemetry-go-contrib/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go

// UnaryServerInterceptor returns a grpc.UnaryServerInterceptor suitable
// for use in a grpc.NewServer call.
func UnaryServerInterceptor(opts ...Option) grpc.UnaryServerInterceptor {

out of the box adds labels

  • net.peer.sock.addr
  • net.peer.sock.port

that have unbound cardinality. It leads to the server's potential memory exhaustion when many malicious requests are sent.

Details

An attacker can easily flood the peer address and port for requests.

PoC

Apply the attached patch to the example and run the client multiple times. Observe how each request will create a unique histogram and how the memory consumption increases during it.

Impact

In order to be affected, the program has to configure a metrics pipeline, use UnaryServerInterceptor, and does not filter any client IP address and ports via middleware or proxies, etc.

Others

It is similar to already reported vulnerabilities.

Workaround for affected versions

As a workaround to stop being affected, a view removing the attributes can be used.

The other possibility is to disable grpc metrics instrumentation by passing otelgrpc.WithMeterProvider option with noop.NewMeterProvider.

Solution provided by upgrading

In PR #4322, to be released with v0.46.0, the attributes were removed.

References

critical: 0 high: 0 medium: 1 low: 0 golang.org/x/crypto 0.14.0 (golang)

pkg:golang/golang.org/x/crypto@0.14.0

medium 5.9: CVE--2023--48795 Insufficient Verification of Data Authenticity

Affected range<0.17.0
Fixed version0.17.0
CVSS Score5.9
CVSS VectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
Description

Summary

Terrapin is a prefix truncation attack targeting the SSH protocol. More precisely, Terrapin breaks the integrity of SSH's secure channel. By carefully adjusting the sequence numbers during the handshake, an attacker can remove an arbitrary amount of messages sent by the client or server at the beginning of the secure channel without the client or server noticing it.

Mitigations

To mitigate this protocol vulnerability, OpenSSH suggested a so-called "strict kex" which alters the SSH handshake to ensure a Man-in-the-Middle attacker cannot introduce unauthenticated messages as well as convey sequence number manipulation across handshakes.

Warning: To take effect, both the client and server must support this countermeasure.

As a stop-gap measure, peers may also (temporarily) disable the affected algorithms and use unaffected alternatives like AES-GCM instead until patches are available.

Details

The SSH specifications of ChaCha20-Poly1305 (chacha20-poly1305@openssh.com) and Encrypt-then-MAC (*-etm@openssh.com MACs) are vulnerable against an arbitrary prefix truncation attack (a.k.a. Terrapin attack). This allows for an extension negotiation downgrade by stripping the SSH_MSG_EXT_INFO sent after the first message after SSH_MSG_NEWKEYS, downgrading security, and disabling attack countermeasures in some versions of OpenSSH. When targeting Encrypt-then-MAC, this attack requires the use of a CBC cipher to be practically exploitable due to the internal workings of the cipher mode. Additionally, this novel attack technique can be used to exploit previously unexploitable implementation flaws in a Man-in-the-Middle scenario.

The attack works by an attacker injecting an arbitrary number of SSH_MSG_IGNORE messages during the initial key exchange and consequently removing the same number of messages just after the initial key exchange has concluded. This is possible due to missing authentication of the excess SSH_MSG_IGNORE messages and the fact that the implicit sequence numbers used within the SSH protocol are only checked after the initial key exchange.

In the case of ChaCha20-Poly1305, the attack is guaranteed to work on every connection as this cipher does not maintain an internal state other than the message's sequence number. In the case of Encrypt-Then-MAC, practical exploitation requires the use of a CBC cipher; while theoretical integrity is broken for all ciphers when using this mode, message processing will fail at the application layer for CTR and stream ciphers.

For more details see https://terrapin-attack.com.

Impact

This attack targets the specification of ChaCha20-Poly1305 (chacha20-poly1305@openssh.com) and Encrypt-then-MAC (*-etm@openssh.com), which are widely adopted by well-known SSH implementations and can be considered de-facto standard. These algorithms can be practically exploited; however, in the case of Encrypt-Then-MAC, we additionally require the use of a CBC cipher. As a consequence, this attack works against all well-behaving SSH implementations supporting either of those algorithms and can be used to downgrade (but not fully strip) connection security in case SSH extension negotiation (RFC8308) is supported. The attack may also enable attackers to exploit certain implementation flaws in a man-in-the-middle (MitM) scenario.

critical: 0 high: 0 medium: 1 low: 0 k8s.io/apiserver 0.26.2 (golang)

pkg:golang/k8s.io/apiserver@0.26.2

medium 4.3: CVE--2020--8552 OWASP Top Ten 2017 Category A9 - Using Components with Known Vulnerabilities

Affected range<1.15.10
Fixed version1.15.10, 1.16.7, 1.17.3
CVSS Score4.3
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
Description

The Kubernetes API server component has been found to be vulnerable to a denial of service attack via successful API requests.

Copy link

Attempting automerge. See https://github.com/uniget-org/tools/actions/runs/8236386907.

Copy link

PR is clean and can be merged. See https://github.com/uniget-org/tools/actions/runs/8236386907.

@github-actions github-actions bot merged commit e649229 into main Mar 11, 2024
9 checks passed
@github-actions github-actions bot deleted the renovate/containerd-containerd-1.7.x branch March 11, 2024 16:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants