CVE-2026-53488
NoneCVSS
—
EPSS
0.2%
Published
Jul 1, 2026
CISA due date
—
Cloudanix analysis
A malicious container image could cause commands to run on the underlying server if the container platform or its plugins handle image labels unsafely.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Container Runtime
- Class
- Command Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
CVE-2026-53488 is a command injection issue in the containerd CRI plugin. Affected containerd versions before 1.7.33, 2.0.10, 2.1.9, 2.2.5, and 2.3.2 copy labels from an image configuration into the created container without validating or constraining them. If another host-side plugin, integration, admission workflow, runtime extension, or automation component later consumes those container labels in an unsafe way, a malicious image label can influence host-side command execution. The practical impact is host command execution in environments where untrusted or attacker-controlled images can be pulled and run through containerd CRI and where label-consuming host components are present.
Why it matters to the business
A successful exploit can turn the act of running a malicious container image into command execution on the underlying host, which may lead to node compromise, workload disruption, credential theft, lateral movement, and cluster-wide impact. The issue is especially important for Kubernetes and container platforms that allow users, CI/CD systems, or automated jobs to run externally supplied images. Although EPSS is currently low, the flaw affects a foundational container runtime and was published 41 days ago, so organizations should prioritize remediation on shared clusters, build infrastructure, multi-tenant platforms, and any environment that runs images from less-trusted sources.
How an attack unfolds
An attacker first creates or modifies a container image so its image configuration contains crafted LABEL entries. The label value is designed to be dangerous when interpreted by a downstream host-side component, for example by injecting shell metacharacters, command substitutions, arguments, or paths into a command template. The attacker then causes the image to be pulled and started through containerd's CRI path, such as by submitting a workload to a Kubernetes cluster, compromising a CI/CD pipeline, abusing access to a container platform, or convincing an operator or automation system to run the image. In vulnerable containerd versions, the CRI plugin propagates the unvalidated image labels onto the container. If a plugin or local integration on the host consumes those labels for operations such as lifecycle hooks, monitoring, networking, storage, policy, or metadata-driven automation, the crafted label can be executed as part of a host command. Successful exploitation can provide arbitrary command execution with the privileges of the consuming host component, potentially enabling full node compromise depending on that component's permissions.
How to fix it
Upgrade containerd to a fixed release: 1.7.33 or later for the 1.7 branch, 2.0.10 or later for the 2.0 branch, 2.1.9 or later for the 2.1 branch, 2.2.5 or later for the 2.2 branch, or 2.3.2 or later for the 2.3 branch. After upgrading, restart containerd and any dependent node services according to platform guidance, then drain and recycle Kubernetes nodes if required to ensure workloads are recreated under the fixed runtime. As compensating controls, restrict who can run workloads and which registries/images may be used, block untrusted images, enforce image admission policies that validate or deny suspicious labels, and audit host-side plugins or automation that consume container labels to ensure they never interpolate labels into shell commands. Treat label values as untrusted input even after patching.
How to confirm the fix worked
Confirm the installed containerd version on every node and compare it to the fixed versions: containerd --version, ctr version, crictl version, or package manager inventory can be used depending on the platform. Validate that all worker nodes, control-plane nodes that run containerd, build hosts, and CI runners have been upgraded, not just the orchestration control plane. Review node service status to ensure the upgraded containerd binary is the one currently running. Where feasible, test admission controls by attempting to run an image with benign but suspicious label content and confirming that policy blocks it or that downstream label-consuming plugins treat it as data only. Also inventory host-side container plugins, monitoring agents, network/storage plugins, and automation that read container labels, and verify they sanitize input and avoid shell execution.
Typical attack path
- Build or obtain a container image with malicious LABEL metadata in the image configuration.
- Publish the image to a registry or place it where the target platform can pull it.
- Cause the target environment to run the image through containerd CRI, for example via Kubernetes, CI/CD, or a container orchestration API.
- containerd propagates the malicious image label to the container without validation.
- A host-side plugin, runtime integration, or automation component reads the container label and uses it unsafely in a command or privileged operation.
- The injected command executes on the host with the privileges of the vulnerable label-consuming component.
- The attacker uses host execution to access secrets, modify workloads, install persistence, disrupt services, or move laterally.
How to detect it
To determine whether exploitation already occurred, examine container runtime, Kubernetes, node, plugin, and system process logs together. Review Kubernetes audit logs for recently created Pods, Jobs, CronJobs, or other workloads using new or untrusted images. Inspect containerd logs and CRI event logs for image pulls and container starts around suspicious activity. Query image metadata for labels using tools such as crictl inspecti, crictl inspect, ctr images info, docker image inspect where applicable, or registry metadata APIs, and look for label values containing shell metacharacters, command substitution, embedded newlines, executable paths, outbound network tooling, or encoded payloads. On hosts, review process execution telemetry such as auditd, eBPF/EDR, Sysmon for Linux, journald, and shell history for unexpected commands spawned by container runtime-adjacent services, node agents, CNI/CSI plugins, monitoring agents, or automation shortly after container creation. Pay particular attention to child processes such as sh, bash, curl, wget, nc, python, perl, busybox, chmod, chattr, systemctl, crontab, or base64 launched by privileged host services that normally should not execute arbitrary shell commands. Also review filesystem artifacts for persistence, including modified systemd units, cron entries, SSH authorized_keys files, temporary payloads under /tmp or /var/tmp, and unexpected binaries placed from the time a suspicious image was first run. No public KEV listing, ransomware association, named threat actor activity, or mature public exploit is currently indicated, so detection should focus on behavior and suspicious label metadata rather than a known campaign-specific signature.
- crictl inspecti
- crictl inspect
- ctr images info
- /var/log/containerd.log
- /run/containerd/containerd.sock
- /var/lib/containerd/
- /etc/containerd/config.toml
- /var/log/audit/audit.log
- /var/log/syslog
- /var/log/messages
- /var/log/journal/
- /etc/systemd/system/
- /etc/cron.d/
- /var/spool/cron/
- /root/.ssh/authorized_keys
- /tmp/
- /var/tmp/
- LABEL
- sh -c
- bash -c
- $(curl
- $(wget
- `curl
- `wget
- ;curl
- ;wget
- |sh
- | bash
- nc -e
- /bin/sh
- /bin/bash
- /usr/bin/curl
- /usr/bin/wget
- base64 -d
- chmod +x
- crontab -e
- systemctl enable
What your security team should do
- Patch all affected containerd installations to 1.7.33, 2.0.10, 2.1.9, 2.2.5, 2.3.2, or later, prioritizing Kubernetes nodes, shared clusters, CI/CD runners, and systems that run third-party images.
- Identify environments where users or automation can run arbitrary container images, and temporarily restrict image sources to trusted registries until patching is complete.
- Add or update admission policies to reject suspicious image/container labels containing command separators, shell substitutions, newline injection, or unexpected executable paths.
- Audit host-side plugins and operational scripts that consume container labels; remove shell interpolation and treat labels as untrusted input.
- Review recently run images and containers for unusual LABEL metadata, especially images introduced after publication of the advisory.
- Hunt for evidence of suspicious commands launched by container runtime-adjacent services, node agents, plugins, or automation around the time new containers were created.
- Ensure build pipelines and base-image governance prevent unreviewed Dockerfile LABEL instructions from being introduced into production images.
- Monitor vendor and distribution advisories for backported fixes because package versions may differ from upstream containerd release numbering.
The record
containerd is an open-source container runtime. In versions prior to 1.7.33, 2.3.2, 2.2.5, 2.1.9, and 2.0.10 the CRI plugin propagates labels from an image config (LABEL instruction in Dockerfile) to a container without validation. This may result in executing an arbitrary command on the host, via a plugin that consumes container labels for some operations. This issue has been fixed in versions 1.7.33, 2.3.2, 2.2.5, 2.1.9, and 2.0.10.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| openSUSE:Leap 16.0 | containerd | 0 | 1.7.33-160000.1.1 |
| openSUSE:Leap 16.0 | trivy | 0 | 0.71.2-160000.1.1 |
| openSUSE:Tumbleweed | containerd | 0 | 1.7.33-1.1 |
| openSUSE:Tumbleweed | trivy | 0 | 0.71.2-1.1 |
Related vulnerabilities
- CVE-2026-47262 containerd is an open-source container runtime. Also affects containerd
- CVE-2026-39821 The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that… Also affects containerd
- CVE-2026-46680 containerd user ID handling bypass allows runAsNonRoot evasion Also affects containerd
- CVE-2026-33814 When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing… Also affects containerd
- CVE-2026-35469 spdystream is a Go library for multiplexing streams over SPDY connections. Also affects containerd
- CVE-2026-53492 containerd is an open-source container runtime. Also affects trivy
- CVE-2026-53489 containerd is an open-source container runtime. Also affects trivy
- CVE-2026-50195 containerd is an open-source container runtime. Also affects trivy