CVE-2026-53495: Go/github.com/containerd/containerd/v2 vulnerability

Published Sep 9, 2026
·
Updated

Impact

A bug in containerd's CRI ExecSync implementation allows exec probes and lifecycle hooks with background child processes to keep containerd's stdio-drain goroutines indefinitely blocked. Because the I/O drain phase lacks a default timeout or context cancellation handling, repeated ExecSync invocations (like probes) that include long-lived background processes against a container can cause containerd to leak goroutines and host memory. Over time, this resource exhaustion can cause the containerd daemon to be terminated by the OOM killer, rendering containerd unavailable until it is restarted. This issue affects containerd on Linux systems running with the CRI plugin enabled. Users not using containerd's CRI implementation or not running containers on Linux are not affected.

Patches

This bug has been fixed in containerd 2.3.5, 2.2.8, 2.0.12, and 1.7.35. Users should update to these versions to resolve the issue.

Workarounds

Ensure exec probes and lifecycle hooks do not launch long-lived background child processes.

Credits

The containerd project would like to thank XlabAI Team of Tencent Xuanwu Lab (xlabai@tencent.com), including Guannan Wang, Zhanpeng Liu, Jiashuo Liang, and Guancheng Li, and @IamwhatIamSY who independently discovered and responsibly disclosed this issue in accordance with the containerd security policy.

For more information

If there are any questions or comments about this advisory:

Open an issue in containerd Send an email to security@containerd.io

To report a security issue in containerd: Report a new vulnerability Send an email to security@containerd.io

Affected Software

4 affected componentsFixes available
go/github.com/containerd/containerd/v2>=2.3.0<2.3.5
2.3.5
go/github.com/containerd/containerd/v2>=2.2.0<2.2.8
2.2.8
go/github.com/containerd/containerd<1.7.35
1.7.35
go/github.com/containerd/containerd/v2<2.0.12
2.0.12

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/github.com/containerd/containerd/v2 to a version that resolves this vulnerability.

    Fixed in 2.3.5
  2. Upgrade

    Upgrade go/github.com/containerd/containerd/v2 to a version that resolves this vulnerability.

    Fixed in 2.2.8
  3. Upgrade

    Upgrade go/github.com/containerd/containerd to a version that resolves this vulnerability.

    Fixed in 1.7.35
  4. Upgrade

    Upgrade go/github.com/containerd/containerd/v2 to a version that resolves this vulnerability.

    Fixed in 2.0.12
  5. Upgrade

    Upgrade containerd to a version that resolves this vulnerability.

    Fixed in 2.3.5
  6. Upgrade

    Upgrade containerd to a version that resolves this vulnerability.

    Fixed in 2.2.8
  7. Upgrade

    Upgrade containerd to a version that resolves this vulnerability.

    Fixed in 2.0.12
  8. Upgrade

    Upgrade containerd to a version that resolves this vulnerability.

    Fixed in 1.7.35
  9. Configuration

    Ensure exec probes and lifecycle hooks do not launch long-lived background child processes (background child processes can keep stdio-drain goroutines blocked indefinitely during ExecSync when long-lived processes are involved).

    containerd (CRI plugin) exec probes and lifecycle hooks behavior = Do not launch long-lived background child processes

Event History

Sep 9, 2026
Advisory Published
via GitHub·06:01 PM
Data Sourced
via GitHub·06:01 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are affected?

Affected deployments are Linux systems running containerd with the CRI plugin enabled. Systems not using containerd's CRI implementation, or not running containers on Linux, are not affected.

2

What conditions are needed to trigger the resource exhaustion?

An exec probe or lifecycle hook must launch a long-lived background child process. Repeated ExecSync invocations, such as recurring probes, can then leave stdio-drain goroutines blocked and progressively consume host memory.

3

What can be done before an update is available?

Ensure that exec probes and lifecycle hooks do not launch long-lived background child processes. This avoids the condition that causes the blocked goroutines and memory leak.

4

Which containerd releases contain the fix?

The issue is fixed in containerd 2.3.5, 2.2.8, 2.0.12, and 1.7.35.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203