Arbitrary Host File Read via Symlink Following in containerd CRI Checkpoint Restore (CVE-2026-53489)
A high-severity vulnerability (CVE-2026-53489) in containerd's CRI plugin allows an unprivileged attacker to read arbitrary files on the host system by crafting a malicious checkpoint with a symlink that `containerd` follows during `container.log` restoration, enabling data exfiltration via `kubectl logs`.
A critical bug, tracked as CVE-2026-53489, has been identified in the containerd CRI plugin, impacting versions prior to 2.3.2, 2.2.5, and 2.1.9. This vulnerability allows an attacker to achieve arbitrary host file disclosure. The flaw stems from containerd failing to validate symlinked paths when restoring container.log from a checkpoint image. By crafting a malicious checkpoint that includes container.log as a symbolic link to a sensitive host file, an attacker can leverage a standard kubectl logs command to retrieve the contents of that file. This poses a significant risk of data exfiltration and unauthorized information gathering from the underlying host system, impacting Kubernetes and other container orchestration environments. The vulnerability was independently discovered by multiple researchers, indicating a high likelihood of exploitation potential.
Attack Chain
- Craft Malicious Checkpoint/Image: An attacker creates a container image or checkpoint where the expected
container.logfile is replaced with a symbolic link pointing to a sensitive file on the host filesystem (e.g.,/etc/shadow,/root/.ssh/id_rsa). - Deploy Malicious Image: The attacker deploys this specially crafted container image to a Kubernetes cluster or container environment running a vulnerable version of containerd.
- Containerd Restores Checkpoint: When the container is started or its checkpoint is restored, the
containerdCRI plugin attempts to initialize thecontainer.logpath. - Symlink Traversal: Due to the vulnerability (CVE-2026-53489),
containerdfollows the malicious symlink instead of validating the path, effectively linking the container'scontainer.logoutput stream to the sensitive host file. - Attacker Requests Logs: The attacker, possessing appropriate permissions to view container logs (e.g., via
kubectl logs), issues a command to retrieve the logs of the compromised container. - Containerd Reads Target File:
containerd, processing the log request, reads the content of the file pointed to by the symlink (the sensitive host file). - Data Exfiltration: The content of the sensitive host file is then returned to the attacker as if it were legitimate container log output, achieving arbitrary host file disclosure.
Impact
The successful exploitation of CVE-2026-53489 can lead to significant information disclosure. Attackers can read any file accessible by the containerd process on the host system. This could include sensitive configuration files (e.g., /etc/kubernetes/kubelet.conf), SSH keys, credentials, or other proprietary data stored on the host. While the vulnerability doesn't directly grant remote code execution, the ability to read arbitrary files can be a crucial step in further privilege escalation or data exfiltration attacks within a compromised Kubernetes cluster or container host. All organizations running containerd versions prior to the patched releases are at risk, particularly those that allow deployment of untrusted container images.
Recommendation
- Patch CVE-2026-53489: Immediately update containerd to patched versions (2.3.2, 2.2.5, or 2.1.9) as described in the GHSA advisory.
- Implement Image Trust: Ensure that only trusted container images and checkpoints are used within your environment to minimize the risk of malicious artifacts.
- Deploy File Access Monitoring: Configure host-level file activity monitoring (e.g., Auditd, Falco) to detect suspicious
containerdprocess access to sensitive files or directories. Deploy the Sigma rules provided in this brief. - Enable Sysmon for Linux: For Linux hosts, consider enabling Sysmon for Linux to capture
FileCreateandFileReadevents which can be used by the Sigma rules below.
Detection coverage 3
Detects CVE-2026-53489 Exploitation — containerd Reading Sensitive System Files (Shadow)
highDetects CVE-2026-53489 exploitation where containerd reads the /etc/shadow file, indicating potential symlink traversal from a malicious container log. This is an indicator of arbitrary host file disclosure.
Detects CVE-2026-53489 Exploitation — containerd Reading Sensitive System Files (Passwd)
highDetects CVE-2026-53489 exploitation where containerd reads the /etc/passwd file, indicating potential symlink traversal from a malicious container log. This is an indicator of arbitrary host file disclosure.
Detects CVE-2026-53489 Exploitation — containerd Accessing SSH Private Keys
criticalDetects CVE-2026-53489 exploitation where containerd attempts to read files commonly associated with SSH private keys from the host filesystem, indicating an attempt to exfiltrate credentials via symlink traversal.
Detection queries are available on the platform. Get full rules →