CVE-2022-23471
containerd CRI stream server: Host memory exhaustion through terminal resize goroutine leak
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
containerd is an open source container runtime. 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. This bug has been fixed in containerd 1.6.12 and 1.5.16. Users should update to these versions to resolve the issue. Users unable to upgrade should ensure that only trusted images and commands are used and that only trusted users have permissions to execute commands in running containers.
Containerd es un runtime de contenedor de código abierto. Se encontró un error en la implementación CRI de Containerd donde un usuario puede agotar la memoria en el host. En el servidor de transmisión CRI, se lanza una rutina para manejar eventos de cambio de tamaño del terminal si se solicita un TTY. Si el proceso del usuario no se inicia debido, por ejemplo, a un comando defectuoso, la rutina se atascará esperando enviarse sin un receptor, lo que provocará una pérdida de memoria. Tanto Kubernetes como crictl se pueden configurar para usar la implementación CRI de Containerd y el servidor de transmisión se usa para manejar la E/S del contenedor. Este error se solucionó en Containerd 1.6.12 y 1.5.16. Los usuarios deben actualizar a estas versiones para resolver el problema. Los usuarios que no puedan actualizar deben asegurarse de que solo se utilicen imágenes y comandos confiables y que solo los usuarios confiables tengan permisos para ejecutar comandos en contenedores en ejecución.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2022-01-19 CVE Reserved
- 2022-12-07 CVE Published
- 2024-07-28 EPSS Updated
- 2024-08-03 CVE Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-400: Uncontrolled Resource Consumption
- CWE-401: Missing Release of Memory after Effective Lifetime
CAPEC
References (3)
URL | Tag | Source |
---|---|---|
https://github.com/containerd/containerd/security/advisories/GHSA-2qjp-425j-52j9 | Third Party Advisory | |
https://security.gentoo.org/glsa/202401-31 |
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
https://github.com/containerd/containerd/commit/a05d175400b1145e5e6a735a6710579d181e7fb0 | 2024-01-31 |
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Linuxfoundation Search vendor "Linuxfoundation" | Containerd Search vendor "Linuxfoundation" for product "Containerd" | < 1.5.16 Search vendor "Linuxfoundation" for product "Containerd" and version " < 1.5.16" | - |
Affected
| ||||||
Linuxfoundation Search vendor "Linuxfoundation" | Containerd Search vendor "Linuxfoundation" for product "Containerd" | >= 1.6.0 < 1.6.12 Search vendor "Linuxfoundation" for product "Containerd" and version " >= 1.6.0 < 1.6.12" | - |
Affected
|