CVE-2026-53495
containerd vulnerability analysis and mitigation

Overview

CVE-2026-53495 is a resource exhaustion vulnerability in containerd's CRI ExecSync implementation, classified as "CRI ExecSync Goroutine Leak Leads to Node-Level Denial of Service." It affects containerd on Linux systems with the CRI plugin enabled, specifically versions prior to 1.7.35, 2.0.12, 2.2.8, and 2.3.5. The vulnerability was first inserted into Feedly on September 4, 2026, and patches were published on September 9, 2026. It carries a CVSS v4.0 base score of 6.8 (Medium) (GitHub Advisory).

Technical details

The root cause is uncontrolled resource consumption (CWE-400) in containerd's CRI ExecSync I/O drain phase, which lacks a default timeout or context cancellation handling. When exec probes or lifecycle hooks spawn long-lived background child processes, the stdio-drain goroutines responsible for consuming process output become indefinitely blocked, as they wait for all child processes to close their file descriptors before returning. Repeated ExecSync invocations — such as Kubernetes liveness or readiness probes — against a container running such background processes cause goroutine and host memory leaks that accumulate over time. The fix, committed as cri: cancel ExecSync IO drain on context cancellation, adds proper context cancellation to the I/O drain phase (GitHub Advisory, containerd v2.3.5 Release).

Impact

Successful exploitation causes progressive goroutine and memory leaks in the containerd daemon, ultimately triggering the Linux OOM killer to terminate the containerd process. This renders the containerd daemon unavailable on the affected node until it is manually restarted, resulting in a node-level denial of service that disrupts all containers managed by that containerd instance. There is no impact on confidentiality or integrity; the vulnerability is limited to availability of the vulnerable system (GitHub Advisory).

Exploitability

No public proof-of-concept exploit code or in-the-wild exploitation has been reported as of the advisory publication date. The vulnerability requires low privileges (an attacker must be able to deploy or influence container workloads with exec probes or lifecycle hooks that spawn background processes) and is locally scoped, reducing its attack surface. The CVE status was listed as "Reserved" at the time of Feedly ingestion, and no EPSS score or CISA KEV catalog entry has been identified (GitHub Advisory).

Exploitation steps

  1. Gain workload deployment access: Obtain sufficient privileges to deploy or modify a container workload on a Kubernetes cluster using a vulnerable containerd version (< 1.7.35, < 2.0.12, < 2.2.8, or < 2.3.5) with the CRI plugin enabled on Linux.
  2. Craft a malicious container spec: Define a container with an exec liveness/readiness probe or a lifecycle hook (e.g., postStart) whose command spawns a long-lived background process (e.g., a shell script that runs sleep infinity & before exiting).
  3. Deploy the workload: Apply the workload to the cluster. Kubernetes will repeatedly invoke ExecSync for the probe at the configured interval (e.g., every 10 seconds).
  4. Trigger goroutine accumulation: Each ExecSync call causes containerd to create stdio-drain goroutines that block indefinitely waiting for the background child process to close its file descriptors, leaking goroutines and memory with each probe invocation.
  5. Exhaust node resources: Over time, the accumulated goroutine and memory leaks exhaust host memory, causing the Linux OOM killer to terminate the containerd daemon and rendering the node unable to manage containers until containerd is restarted (GitHub Advisory).

Indicators of compromise

  • Process: Rapidly increasing number of goroutines in the containerd process (observable via curl -s http://localhost:<debug-port>/debug/pprof/goroutine?debug=1 or containerd's debug endpoint); containerd process memory usage growing continuously over time.
  • Logs: OOM killer log entries in /var/log/kern.log or dmesg referencing the containerd process (e.g., Out of memory: Kill process <pid> (containerd)); systemd journal entries showing containerd daemon crashes and restarts (journalctl -u containerd).
  • System: Repeated containerd service restarts visible via systemctl status containerd; Kubernetes node reporting NotReady status due to loss of container runtime.
  • Network: Kubernetes API server reporting exec probe failures or pod status anomalies on affected nodes around the time of containerd restarts.

Mitigation and workarounds

Upgrade containerd to one of the patched versions: 1.7.35, 2.0.12, 2.2.8, or 2.3.5, all released on September 4, 2026. As an interim workaround where upgrading is not immediately possible, audit and modify all container exec probes and lifecycle hooks to ensure they do not spawn long-lived background child processes. Only Linux systems running containerd with the CRI plugin enabled are affected; Windows and non-CRI deployments are not impacted (GitHub Advisory, containerd v1.7.35 Release, containerd v2.3.5 Release).

Community reactions

The vulnerability was responsibly disclosed by the XlabAI Team of Tencent Xuanwu Lab (Guannan Wang, Zhanpeng Liu, Jiashuo Liang, and Guancheng Li) and independently by @IamwhatIamSY, both following the containerd security policy. The containerd project acknowledged the reporters in the official advisory. No significant broader media coverage or notable community debate has been identified beyond the advisory itself (GitHub Advisory).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Alpine

Fixed

edge

containerd: 2.3.5-r0

Fixed

SourceThis report was generated using AI

Related containerd vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-78662HIGH7.5
  • Docker logoDocker
  • kubescape-server-fips
NoYesSep 02, 2026
CVE-2026-56855HIGH7.5
  • Docker logoDocker
  • fulcio-fips
NoYesSep 02, 2026
CVE-2026-56852HIGH7.5
  • cAdvisor logocAdvisor
  • perl-IO-stringy
NoYesJul 21, 2026
CVE-2026-53495MEDIUM6.8
  • containerd logocontainerd
  • containerd
NoYesSep 09, 2026
CVE-2026-42505MEDIUM5.3
  • Go logoGo
  • rancher-pushprox-fips
NoYesJul 08, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management