GHSA-2qjp-425j-52j9

containerd CRI stream server vulnerable to host memory exhaustion via terminal

At a glance

Published
Updated
CVE
CVE-2022-23471
Aliases
GO-2022-1147
CVSS_V3
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H

Description

### Impact A bug was found in containerd's CRI implementation where a user can exhaust memory on the host. In the CRI stream server, a goroutine is launched to handle terminal resize events if a TTY is requested. If the user's process fails to launch due to, for example, a faulty command, the goroutine will be stuck waiting to send without a receiver, resulting in a memory leak. Kubernetes and crictl can both be configured to use containerd's CRI implementation and the stream server is used for handling container IO. ### Patches This bug has been fixed in containerd 1.6.12 and 1.5.16. Users should update to these versions to resolve the issue. ### Workarounds Ensure that only trusted images and commands are used and that only trusted users have permissions to execute commands in running containers. ### For more information If you have any questions or comments about this advisory: * Open an issue in [containerd](https://github.com/containerd/containerd/issues/new/choose) * Email us at [security@containerd.io](mailto:security@containerd.io) To report a security issue in containerd: * [Report a new vulnerability](https://github.com/containerd/containerd/security/advisories/new) * Email us at [security@containerd.io](mailto:security@containerd.io)

Affected packages

PackageVersions
Go · github.com/containerd/containerdintroduced 0, fixed 1.5.16
Go · github.com/containerd/containerdintroduced 1.6.0, fixed 1.6.12

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database