CVE-2024-9676: Podman: buildah: cri-o: symlink traversal vulnerability in the containers/storage library can cause denial of service (dos)
A symlink traversal vulnerability in the containers/storage library can cause Podman, Buildah, and CRI-O to hang and potentially be DoSed via OOM kill when running a malicious image using an automatically assigned user namespace (--userns=auto in Podman and Buildah). The containers/storage library will read /etc/passwd inside the container, but does not properly validate if that file is a symlink, which can be used to cause the library to read an arbitrary file on the host. This file is only read, and if it does not properly parse as a copy of /etc/passwd it will cause an error (there is a small risk of information disclosure via the error message here as elements of the file that failed to parse can be included, but this is only as the user running Podman/Buildah/CRI-O so it wouldn't be a file they did not already have access to). The report here discovered that you can symlink /etc/passwd in the container to a FIFO on the host, causing a hang as the file cannot be completely read (or an OOM condition if the FIFO is continuously written to, which was then ready by Podman). This hang could occur in a critical section in the c/storage library, blocking other processes from creating containers, but could be easily solved via a SIGKILL of the affected process. The ability to potentially crash the CRI-O service via OOM kill could be more relevant, though the attacker would have to know the path of a FIFO that is regularly being written to on the host in order to do this.
Other sources
A vulnerability was found in Podman, Buildah, and CRI-O. A symlink traversal vulnerability in the containers/storage library can cause Podman, Buildah, and CRI-O to hang and result in a denial of service via OOM kill when running a malicious image using an automatically assigned user namespace (--userns=auto in Podman and Buildah). The containers/storage library will read /etc/passwd inside the container, but does not properly validate if that file is a symlink, which can be used to cause the library to read an arbitrary file on the host.
— NVD
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2024-9676?
CVE-2024-9676 is considered a high severity vulnerability due to its potential to hang applications and cause denial of service.
How do I fix CVE-2024-9676?
To fix CVE-2024-9676, update your OpenShift Container Platform installation to the latest version that addresses this vulnerability.
What software is affected by CVE-2024-9676?
CVE-2024-9676 affects multiple versions of Red Hat OpenShift Container Platform from 4.12 to 4.17 as well as related platforms for ARM and IBM architectures.
What types of attacks can exploit CVE-2024-9676?
CVE-2024-9676 can be exploited through malicious container images that cause resource exhaustion and application hangs.
Is there a specific configuration that increases the risk of CVE-2024-9676?
Yes, the use of the automatically assigned user namespace option ('--userns=auto') in Podman and Buildah increases the risk of CVE-2024-9676.