Skip to content
Friday, October 16, 2026AboutContactRSS
Vulnerabilities

CVE-2026-95837 lets containerd restore bypass security policies; update to 2.2.7 or 2.3.4

A flaw in containerd allows containers restored from untrusted checkpoints to bypass security policies and run with root privileges.

Illustration: A translucent glass box sits on a metallic shelf, containing a small, glowing orange cube that has slipped through a cracked barrier.
AI-generated illustration: Patch Herald

Key points

  • Containerd versions 2.1.0 through 2.2.6 and 2.3.0 through 2.3.3 are vulnerable to CVE-2026-95837.
  • Patches are available in containerd 2.2.7 and 2.3.4, which disable the risky restore feature by default.
  • The vulnerability affects Linux systems using CRI checkpoint restore; other users are not impacted.

Containerd versions 2.1.0 up to 2.2.6 and 2.3.0 up to 2.3.3 contain a high-severity vulnerability identified as CVE-2026-95837. According to the GitHub advisory GHSA-p7v4-vr35-mj6f, this flaw allows a container restored from an untrusted checkpoint to bypass security contexts. Fixes are available in containerd 2.2.7 and 2.3.4. Users of these patched versions have the problematic feature disabled by default.

In plain English

When restoring a container from a checkpoint archive or image, the system usually enforces security rules. In these vulnerable versions, the restoration process ignores those rules. It loads process credentials and capabilities directly from the checkpoint data instead. This means a malicious checkpoint can run as root with full capabilities. The system reports that security policies are active, even though they are not enforced.

The background

The issue stems from how containerd handles the Container Runtime Interface (CRI) checkpoint restore. It uses CRIU to restore process states. Rather than applying the destination container's security configuration, it trusts the source data. This allows an attacker with a crafted checkpoint image to execute processes with elevated privileges. The discrepancy is hidden from orchestrators because status reporting reflects the requested configuration, not the actual state.

What changes now

Developers have addressed the bug in containerd 2.2.7 and 2.3.4. These updates disable checkpoint restore via the `CreateContainer` API by default. The feature was removed entirely in containerd 2.4.0. Users who need this functionality can re-enable it using a new configuration option, but doing so leaves the vulnerability present. Running containers restored from untrusted checkpoints should be stopped and recreated.

Who needs to act first

Teams should prioritize updating systems that actively use checkpoint restore features. Start by identifying which servers run vulnerable containerd versions. Test the update in a non-production environment to ensure compatibility with existing workloads. Back up current configurations before applying changes. If immediate patching is not possible, restrict permissions for container creation to trusted users only. Monitor logs for unexpected privilege escalations or anomalous process behavior during the transition period.

What to do and how to stay safe: containerd

  • Update containerd to version 2.2.7 or 2.3.4 to disable the vulnerable checkpoint restore feature by default.
  • Stop and delete any containers that were restored from untrusted checkpoints, then recreate them.
  • Restrict permissions for container creation to trusted users if you cannot patch immediately.
  • Monitor system logs for signs of unauthorized privilege escalation or unexpected root processes.

Step-by-step guide: Out-of-Band Patches: Meaning, Risks, and Deployment Reality

General security guidance from the Patch Herald newsroom. It is not confirmed advice from the organisations named in this story.

Frequently asked questions

Which containerd versions are affected by this vulnerability?

Versions 2.1.0 through 2.2.6 and 2.3.0 through 2.3.3 are vulnerable.

Is there a fix available for this issue?

Yes, patches are available in containerd 2.2.7 and 2.3.4.

Can I keep using checkpoint restore after patching?

You can re-enable it, but the vulnerability remains if you do.

Sources

  1. GitHub Advisory Database
containerdCVE-2026-95837GitHubCRIcheckpoint restore

Related stories