CVE-2026-53489: containerd: symlink follow leaks host files via kubectl logs

GHSA-rgh6-rfwx-v388 HIGH
Published June 19, 2026
CISO Take

containerd's CRI plugin restores container.log from checkpoint images without validating symlink paths, allowing any file readable by the container runtime on the host to be returned as log output via kubectl logs. With 5,435 downstream dependents spanning the Kubernetes ecosystem, virtually every AI platform running container-orchestrated model serving, training jobs, or inference endpoints is potentially exposed when checkpoint images from untrusted sources are used — the credits section lists independent discovery by Anthropic Research, Google's GKE Security Team, and three academic groups, signaling elevated weaponization risk despite no public exploit today. In AI environments the blast radius is disproportionate: host filesystems frequently hold LLM API keys, vector database credentials, model weights on mounted volumes, and kubeconfig files that enable lateral movement across the entire cluster. Patch to containerd 2.1.9, 2.2.5, or 2.3.2 immediately; as an interim control, restrict checkpoint/restore operations to fully trusted, signed images only.

Sources: GitHub Advisory NVD ATLAS

What is the risk?

High risk for organizations running Kubernetes-based AI infrastructure. The exploit requires the ability to supply a malicious checkpoint image — a prerequisite that limits opportunistic exploitation but is realistic in CI/CD pipelines, shared registries, or multi-tenant AI platforms. The read primitive itself is trivially activated via kubectl logs with no elevated privileges beyond standard developer access. In AI contexts risk is amplified because container hosts routinely hold high-value targets: API keys for frontier LLM providers, database credentials for vector stores, training dataset credentials, and model artifacts. Five independent research groups discovering this simultaneously is a strong signal that exploitation guidance will emerge quickly.

How does the attack unfold?

Checkpoint Image Tampering
Attacker crafts or compromises a container checkpoint image, replacing container.log with a symlink pointing to a sensitive host path (e.g., /opt/aiplatform/.env or /etc/kubernetes/pki/ca.key).
AML.T0010.001
Checkpoint Restore
A cluster operator or automated system restores a container from the malicious checkpoint via containerd's CRI plugin, which blindly follows the symlink without path validation.
AML.T0105
Log-Triggered File Read
kubectl logs (or any log aggregator) is called against the restored container, causing containerd to read the symlink target from the host filesystem and return its contents as log output.
AML.T0037
Credential Harvest and Lateral Movement
Attacker obtains LLM API keys, database credentials, or kubeconfig tokens from the exfiltrated host files, enabling unauthorized AI service usage and lateral movement across the AI platform.
AML.T0055

What systems are affected?

Package Ecosystem Vulnerable Range Patched
Anthropic Python go >= 2.1.0, < 2.1.9 2.1.9
3.6K 5.4K dependents Pushed 9d ago 94% patched ~1d to patch Full package profile →

Do you use Anthropic Python? You're affected.

How severe is it?

CVSS 3.1
N/A
EPSS
N/A
Exploitation Status
No known exploitation
Sophistication
Moderate

What should I do?

6 steps
  1. PATCH (immediate): Update containerd to 2.1.9, 2.2.5, or 2.3.2 — these versions validate symlink paths during checkpoint restore.

  2. WORKAROUND

    Disable or restrict container checkpoint/restore operations (CRIU-based, Kubernetes checkpoint API) to signed, internally-built images only until patched. Block untrusted checkpoint images at the registry policy level.

  3. SECRETS AUDIT

    Verify that sensitive credentials (LLM API keys, DB passwords, service account tokens) are injected as Kubernetes Secrets or via a secrets manager — not stored in host filesystem paths accessible to the container runtime.

  4. AUDIT LOGS

    Review containerd and kubectl logs for restore operations followed immediately by log access, particularly on containers restored from external checkpoint sources.

  5. DETECTION

    Alert on containerd CRI plugin restore events from non-standard image sources combined with subsequent kubectl logs calls within short time windows.

  6. NETWORK CONTROLS

    Ensure outbound egress from container nodes is restricted so exfiltrated data cannot leave the cluster perimeter.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Art. 15 - Accuracy, robustness and cybersecurity
ISO 42001
A.6.2 - Resources for AI system lifecycle
NIST AI RMF
MANAGE 2.4 - Residual risks and tradeoffs are documented
OWASP LLM Top 10
LLM05 - Supply Chain Vulnerabilities LLM06 - Sensitive Information Disclosure

Frequently Asked Questions

What is CVE-2026-53489?

containerd's CRI plugin restores container.log from checkpoint images without validating symlink paths, allowing any file readable by the container runtime on the host to be returned as log output via kubectl logs. With 5,435 downstream dependents spanning the Kubernetes ecosystem, virtually every AI platform running container-orchestrated model serving, training jobs, or inference endpoints is potentially exposed when checkpoint images from untrusted sources are used — the credits section lists independent discovery by Anthropic Research, Google's GKE Security Team, and three academic groups, signaling elevated weaponization risk despite no public exploit today. In AI environments the blast radius is disproportionate: host filesystems frequently hold LLM API keys, vector database credentials, model weights on mounted volumes, and kubeconfig files that enable lateral movement across the entire cluster. Patch to containerd 2.1.9, 2.2.5, or 2.3.2 immediately; as an interim control, restrict checkpoint/restore operations to fully trusted, signed images only.

Is CVE-2026-53489 actively exploited?

No confirmed active exploitation of CVE-2026-53489 has been reported, but organizations should still patch proactively.

How to fix CVE-2026-53489?

1. PATCH (immediate): Update containerd to 2.1.9, 2.2.5, or 2.3.2 — these versions validate symlink paths during checkpoint restore. 2. WORKAROUND: Disable or restrict container checkpoint/restore operations (CRIU-based, Kubernetes checkpoint API) to signed, internally-built images only until patched. Block untrusted checkpoint images at the registry policy level. 3. SECRETS AUDIT: Verify that sensitive credentials (LLM API keys, DB passwords, service account tokens) are injected as Kubernetes Secrets or via a secrets manager — not stored in host filesystem paths accessible to the container runtime. 4. AUDIT LOGS: Review containerd and kubectl logs for restore operations followed immediately by log access, particularly on containers restored from external checkpoint sources. 5. DETECTION: Alert on containerd CRI plugin restore events from non-standard image sources combined with subsequent kubectl logs calls within short time windows. 6. NETWORK CONTROLS: Ensure outbound egress from container nodes is restricted so exfiltrated data cannot leave the cluster perimeter.

What systems are affected by CVE-2026-53489?

This vulnerability affects the following AI/ML architecture patterns: Kubernetes-based model serving, container-orchestrated training pipelines, AI inference endpoints, agent framework microservices, multi-tenant AI platforms, MLOps pipelines with checkpoint/restore workflows.

What is the CVSS score for CVE-2026-53489?

No CVSS score has been assigned yet.

What is the AI security impact?

Affected AI Architectures

Kubernetes-based model servingcontainer-orchestrated training pipelinesAI inference endpointsagent framework microservicesmulti-tenant AI platformsMLOps pipelines with checkpoint/restore workflows

MITRE ATLAS Techniques

AML.T0010.001 AI Software
AML.T0025 Exfiltration via Cyber Means
AML.T0037 Data from Local System
AML.T0055 Unsecured Credentials
AML.T0105 Escape to Host

Compliance Controls Affected

EU AI Act: Art. 15
ISO 42001: A.6.2
NIST AI RMF: MANAGE 2.4
OWASP LLM Top 10: LLM05, LLM06

What are the technical details?

Original Advisory

### 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](https://github.com/containerd/project/blob/main/SECURITY.md). ### 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)

Exploitation Scenario

An adversary with write access to a shared container registry or the ability to supply checkpoint images (e.g., via a compromised CI pipeline) crafts a checkpoint image where container.log is replaced with a symlink pointing to /opt/aiplatform/.env (containing OPENAI_API_KEY and ANTHROPIC_API_KEY) or /etc/kubernetes/pki/ca.key. When an SRE or automated health-check system restores the container from this checkpoint, containerd's CRI plugin blindly follows the symlink without validation. Any subsequent kubectl logs call against the restored container — including automated log aggregators like Fluentd or Datadog — causes containerd to read the symlink target from the host filesystem and return its contents as log output. The attacker harvests LLM provider API keys enabling direct financial fraud (unauthorized model usage billed to the victim) and credentials for downstream vector databases or model registries, enabling further lateral movement across the AI infrastructure.

Weaknesses (CWE)

CWE-61 — UNIX Symbolic Link (Symlink) Following: The product, when opening a file or directory, does not sufficiently account for when the file is a symbolic link that resolves to a target outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files.

  • [Implementation] Symbolic link attacks often occur when a program creates a tmp directory that stores files/links. Access to the directory should be restricted to the program as to prevent attackers from manipulating the files.
  • [Architecture and Design] Follow the principle of least privilege when assigning access rights to entities in a software system. Denying access to a file can prevent an attacker from replacing that file with a link to a sensitive file. Ensure good compartmentalization in the system to provide protected areas that can be trusted.

Source: MITRE CWE corpus.

Timeline

Published
June 19, 2026
Last Modified
June 19, 2026
First Seen
June 19, 2026

Related Vulnerabilities