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.16 #4374

Merged
merged 1 commit into from Apr 25, 2024

Conversation

uniget-bot
Copy link

This PR contains the following updates:

Package Update Change
containerd/containerd patch 1.7.15 -> 1.7.16

Warning

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


Release Notes

containerd/containerd (containerd/containerd)

v1.7.16: containerd 1.7.16

Compare Source

Welcome to the v1.7.16 release of containerd!

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

Highlights
  • Update AppArmor template to allow confined runc to kill containers (#​10129)
  • Fix config import relative path glob (#​9834)
  • Update AppArmor template to better support rootlesskit (#​10116)
  • Update HTTP fallback to better account for TLS timeout and previous attempts (#​10112)
  • Add support for HPC port forwarding (#​10008)
  • Prevent GC from schedule itself with 0 period. (#​10102)
  • Fix issue with using invalid token to retry fetching layer (#​10065)
  • Automatically decompress archives for transfer service import (#​9989)
  • Fix HTTPFallback fails when pushing manifest (#​10044)
  • Add support for configuring otel from env and config deprecation notice (#​9992)
  • Fix deadlock during NRI plugin registration (containerd/nri#79)
Build and Release Toolchain
  • Update Go to 1.21.9 and 1.22.2 with net/http security fix (#​10115)
Container Runtime Interface (CRI)
  • Fix CRI snapshotter root path when not under containerd root (#​10096)
  • Fix network creation failure from CreatedAt time as 269 years ago (#​10122)
  • Include userns info in PodSandboxStatus (#​9865)
  • Fix default working directory Windows HostProcess containers (#​10071)
  • Fix ListPodSandboxStats to skip sandboxes with missing tasks (#​10042)
Deprecations
  • Add support for configuring otel from env and config deprecation notice (#​9992)

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

Contributors
  • Derek McGowan
  • Samuel Karp
  • Wei Fu
  • Danny Canter
  • Kazuyoshi Kato
  • Kirtana Ashok
  • Maksym Pavlenko
  • Phil Estes
  • Sebastiaan van Stijn
  • Brian Goff
  • Rodrigo Campos
  • Akihiro Suda
  • Angelos Kolaitis
  • Bin Tang
  • David Porter
  • Edgar Lee
  • Evan Lezar
  • Kirill A. Korinsky
  • Kohei Tokunaga
  • Maksim An
  • Paweł Gronowski
  • Tomáš Virtus
  • 张钰10307750
  • 沈陵
Changes
50 commits

  • Add release notes for v1.7.16 (#​10124)
  • Update AppArmor template to allow confined runc to kill containers (#​10129)
    • 18a2c36fa apparmor: Allow confined runc to kill containers
  • Fix config import relative path glob (#​9834)
    • 62e9535f2 Fix config import relative path glob
  • Fix CRI snapshotter root path when not under containerd root (#​10096)
    • a8ebceb97 CRI: "Fix" imageFSPath behavior
    • bd423bf84 Snapshotters: Export the root path
    • 8fb6bfa71 Add exports to proxy plugin config
    • 8916e2cf9 Add platform config to proxy plugins
  • Fix network creation failure from CreatedAt time as 269 years ago (#​10122)
    • 293f5151d pod: CreatedAt time will be 269 years ago while creating cri network failed.
  • Update AppArmor template to better support rootlesskit (#​10116)
    • af19e746e apparmor: add signal (receive) peer=/usr/local/bin/rootlesskit,
  • Update Go to 1.21.9 and 1.22.2 with net/http security fix (#​10115)
  • Update HTTP fallback to better account for TLS timeout and previous attempts (#​10112)
    • 794b0c723 Add deprecated HTTPFallback for package compatibility
    • 51c649d9d Update HTTPFallback to handle tls handshake timeout
    • aa14890ed Remove empty default tls configuration in ctr
  • Add support for HPC port forwarding (#​10008)
    • 3df5d4445 Add support for HPC port forwarding
  • Prevent GC from schedule itself with 0 period. (#​10102)
    • 5c15bf406 Prevent GC from schedule itself with 0 period.
  • Include userns info in PodSandboxStatus (#​9865)
    • b57dc9fd3 cri/server: Add userns tests in PodSandboxStatus
    • 6e809ef13 cri: Expose userns in PodSandboxStatus rpc
  • mod: bump github.com/containerd/nri@v0.6.1 (#​10097)
    • 395a31901 mod: bump github.com/containerd/nri@v0.6.1
  • Fix issue with using invalid token to retry fetching layer (#​10065)
    • f61de0864 fix bug that using invalid token to retry fetching layer
  • Bump tags.cncf.io/container-device-interface to v0.7.2 (#​10077)
    • 7a2f49f70 Bump tags.cncf.io/container-device-interface to v0.7.2
  • Fix default working directory Windows HostProcess containers (#​10071)
    • 989f1ec54 fix default working directory hostProcess
  • Fix unexpected order of mounts since go 1.19 (#​10063)
    • 9f774e438 fix(cri): fix unexpected order of mounts since go 1.19
  • Automatically decompress archives for transfer service import (#​9989)
    • 2aec52493 Automatically decompress archives for transfer service import
  • Use different containerd sock address in tests (#​10056)
    • 8c76e7948 Use different containerd sock address in tests
  • Fix HTTPFallback fails when pushing manifest (#​10044)
    • 18f4ad5ee remote: Fix HTTPFallback fails when pushing manifest
  • Add support for configuring otel from env and config deprecation notice (#​9992)
  • Fix ListPodSandboxStats to skip sandboxes with missing tasks (#​10042)
    • 90c309fe2 Add IsNotFound case to ListPodSandboxStats

Changes from containerd/nri
5 commits

Dependency Changes
  • github.com/containerd/nri v0.6.0 -> v0.6.1
  • tags.cncf.io/container-device-interface v0.6.2 -> v0.7.2
  • tags.cncf.io/container-device-interface/specs-go v0.6.0 -> v0.7.0

Previous release can be found at v1.7.15


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.16

📦 Image Reference ghcr.io/uniget-org/tools/containerd:1.7.16
digestsha256:23d1d5a961eded2c10fb3d8c2400f3c2427d5d68439f0831b00fcd1127155cd4
vulnerabilitiescritical: 0 high: 1 medium: 5 low: 0
platformlinux/amd64
size49 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 gopkg.in/square/go-jose.v2 2.5.1 (golang)

pkg:golang/gopkg.in/square/go-jose.v2@2.5.1

medium : CVE--2024--28180

Affected range>=0
Fixed versionNot Fixed
Description

An attacker could send a JWE containing compressed data that used large amounts of memory and CPU when decompressed by Decrypt or DecryptMulti.

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

pkg:golang/k8s.io/apimachinery@0.26.2

medium 6.8: CVE--2020--8559 URL Redirection to Untrusted Site ('Open Redirect')

Affected range<1.16.13
Fixed version1.16.13
CVSS Score6.8
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H
Description

The Kubernetes kube-apiserver in versions v1.6-v1.15, and versions prior to v1.16.13, v1.17.9 and v1.18.7 are vulnerable to an unvalidated redirect on proxied upgrade requests that could allow an attacker to escalate privileges from a node compromise to a full cluster compromise.

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.

critical: 0 high: 0 medium: 1 low: 0 golang.org/x/net 0.17.0 (golang)

pkg:golang/golang.org/x/net@0.17.0

medium 5.3: CVE--2023--45288 Uncontrolled Resource Consumption

Affected range<0.23.0
Fixed version0.23.0
CVSS Score5.3
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Description

An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection.

Copy link

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

Copy link

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

@github-actions github-actions bot merged commit 0193ceb into main Apr 25, 2024
9 checks passed
@github-actions github-actions bot deleted the renovate/containerd-containerd-1.7.x branch April 25, 2024 16:32
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