CVE-2022-23471
containerd CRI stream server vulnerable to host memory exhaustion via terminal
Impact
### 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
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| go | github.com/containerd/containerd | < 1.5.16 | 1.5.16 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Linuxfoundation | Containerd | before 1.5.16 from 1.6.0 before 1.6.12 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/containerd/containerd/commit/a05d175400b1145e5e6a735a6710579d181e7fb0
- https://github.com/containerd/containerd/security/advisories/GHSA-2qjp-425j-52j9
- https://security.gentoo.org/glsa/202401-31
- https://github.com/advisories/GHSA-2qjp-425j-52j9
- https://github.com/containerd/containerd/commit/241563be06a3de8b6a849414c4e805b68d3bb295
- https://github.com/containerd/containerd/releases/tag/v1.5.16
- https://github.com/containerd/containerd/releases/tag/v1.6.12
- https://nvd.nist.gov/vuln/detail/CVE-2022-23471