CVE-2026-53489: containerd: Arbitrary host CRI log file read via symlink following in CRI checkpoint restore
Impact A bug was found in containerd where the CRI plugin restores container.log from a checkpoint image without validating a symlinked path. This could result in reading an arbitrary file on the host via kubectl logs.
Patches This bug has been fixed in the following containerd versions:
2.3.2 2.2.5 2.1.9
Users should update to these versions to resolve the issue.
Workarounds Ensure that only trusted images and checkpoints are used.
Credits The containerd project would like to thank @gouldnicholas and @davidrxchester, Yuming Zhang and Song Li of Zhejiang University, Sangwon Ryu (@sangwon090), Henry Beberman (@hbeberman) of Microsoft, the GKE Security Team using Gemini, Anthropic Research, in collaboration with Claude, Robert Prast (@robertprast), Kyle Elliott (@kyle-elliott-tob) of Trail of Bits, and Zhenchen Wang (@Plucky923), who independently discovered and responsibly disclosed this issue in accordance with the containerd security policy.
For more information
If you have any questions or comments about this advisory:
Open an issue in containerd Email us at security@containerd.io
To report a security issue in containerd: Report a new vulnerability Email us at security@containerd.io
Other sources
containerd is an open-source container runtime. Versions prior to 2.3.2, 2.2.5 and 2.1.9 contain a bug where the CRI plugin restores container.log from a checkpoint image without validating a symlinked path. This could result in reading an arbitrary file on the host via kubectl logs. This issue has been fixed in versions 2.3.2, 2.2.5 and 2.1.9.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
go/github.com/containerd/containerd/v2to a version that resolves this vulnerability.Fixed in 2.3.2 - Upgrade
Upgrade
go/github.com/containerd/containerd/v2to a version that resolves this vulnerability.Fixed in 2.2.5 - Upgrade
Upgrade
go/github.com/containerd/containerd/v2to a version that resolves this vulnerability.Fixed in 2.1.9 - Upgrade
Upgrade
debian/containerdto a version that resolves this vulnerability.Fixed in 1.4.13~ds1-1~deb11u4Fixed in 1.4.13~ds1-1~deb11u6Fixed in 1.6.20~ds1-1+deb12u3Fixed in 1.6.20~ds1-1+deb12u2Fixed in 1.7.24~ds1-6+deb13u1Fixed in 2.1.9+ds1-1 - Upgrade
Upgrade
containerdto a version that resolves this vulnerability.Fixed in 2.3.2 - Upgrade
Upgrade
containerdto a version that resolves this vulnerability.Fixed in 2.2.5 - Upgrade
Upgrade
containerdto a version that resolves this vulnerability.Fixed in 2.1.9 - Compensating control
Ensure that only trusted images and checkpoints are used, since the CRI plugin restores container.log from a checkpoint image without validating a symlinked path.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-53489?
CVE-2026-53489 has a high severity rating of 8.2.
What is the impact of CVE-2026-53489?
CVE-2026-53489 allows for arbitrary file reading on the host through unchecked symlink paths in `container.log`.
How do I fix CVE-2026-53489?
To resolve CVE-2026-53489, upgrade to the patched versions of containerd as specified in the security advisory.
Which software is affected by CVE-2026-53489?
CVE-2026-53489 affects the containerd software including versions from go/github.com/containerd/containerd/v2.
When was CVE-2026-53489 published?
CVE-2026-53489 was published on June 19, 2026.