Every CVE Search/ Get API key

CVE-2026-95837

containerd CRI plugin: Checkpoint restore bypasses destination security context

7.8 HighFix available

containerd is an open-source container runtime. From 2.1.0 until 2.2.7 and 2.3.4, containerd's CRI CreateContainer checkpoint restore is vulnerable because CRIU restores process security state from checkpoint data instead of enforcing the destination ContainerConfig. An attacker who can create a container from a crafted checkpoint can supply restored credentials, capabilities, no_new_privs, and seccomp state. The restored process can run as root with full capabilities and no enforced seccomp filters while CRI status reports the requested configuration. Systems that do not use CRI checkpoint restore are not affected. This issue is fixed in versions 2.2.7 and 2.3.4.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.11%Unchanged since Oct 13, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.8

containerd CRI plugin: Checkpoint restore bypasses destination security context

containerd is an open-source container runtime. From 2.1.0 until 2.2.7 and 2.3.4, containerd's CRI CreateContainer checkpoint restore is vulnerable because CRIU restores process security state from checkpoint data instead of enforcing the destination ContainerConfig. An attacker who can create a container from a crafted checkpoint can supply restored credentials, capabilities, no_new_privs, and seccomp state. The restored process can run as root with full capabilities and no enforced seccomp filters while CRI status reports the requested configuration. Systems that do not use CRI checkpoint restore are not affected. This issue is fixed in versions 2.2.7 and 2.3.4.

Record
CVE-2026-95837
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-269
Updated
2026-11-02
EUVDEUVD-2026-97820 7.8

containerd is an open-source container runtime. From 2.1.0 until 2.2.7 and 2.3.4, containerd's CRI CreateContainer checkpoint restore is vulnerable because CRIU restores process security state from checkpoint data instead of enforcing the destination ContainerConfig. An attacker who can create a container from a crafted checkpoint can supply restored credentials, capabilities, no_new_privs, and seccomp state. The restored process can run as root with full capabilities and no enforced seccomp filters while CRI status reports the requested configuration. Systems that do not use CRI checkpoint restore are not affected. This issue is fixed in versions 2.2.7 and 2.3.4.

Record
EUVD-2026-97820
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-p7v4-vr35-mj6f 7.8

containerd CRI plugin: Checkpoint restore bypasses destination security context

Impact

A vulnerability in containerd's CRI implementation allows a container restored from an untrusted checkpoint via the CreateContainer API to bypass the destination security context and execute with elevated privileges. When restoring a container from a checkpoint archive or annotated OCI image, CRIU restores process credentials, Linux capabilities, no_new_privs, and seccomp state directly from checkpoint data rather than enforcing the destination CRI ContainerConfig. An attacker who can run a container with a crafted checkpoint image can execute processes as root with full capabilities and no enforced seccomp filters despite restrictive security policies requested by the orchestrator. Additionally, containerd's CRI status reporting reflects the requested configuration rather than the actual restored process state, masking the privilege discrepancy from orchestrators. This issue affects Linux systems running containerd with CRI checkpoint restore enabled; users not utilizing CRI checkpoint restore are not affected.

Patches

This bug has been addressed in containerd 2.2.7 and 2.3.4 by disabling checkpoint restore via CreateContainer by default. The feature has been removed entirely in containerd 2.4.0. Users should update to these versions to resolve the issue. Running containers that were restored from untrusted checkpoints should be stopped, deleted, and recreated.

Users who rely on restore via the CreateContainer API can re-enable the feature by setting the new enable_experimental_restore_via_create configuration option. However, enabling restore via CreateContainer leaves this vulnerability present, as containerd cannot enforce destination security policy during CRIU process restoration.

Workarounds

On unpatched versions, containerd does not provide a configuration option to disable checkpoint restore via CreateContainer. Deployments should restrict container creation permissions to trusted users, validate container image registries, or use admission controllers to reject images containing checkpoint data.

References

Credits

The containerd project would like to thank @l2yyd5 and @berkpolatCE for responsibly disclosing this issue in accordance with the containerd security policy.

For more information

If you have any questions or comments about this advisory:

To report a security issue in containerd:

Record
GHSA-p7v4-vr35-mj6f
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-269
Updated
2026-11-02
NVD 7.8

containerd is an open-source container runtime. From 2.1.0 until 2.2.7 and 2.3.4, containerd's CRI CreateContainer checkpoint restore is vulnerable because CRIU restores process security state from checkpoint data instead of enforcing the destination ContainerConfig. An attacker who can create a container from a crafted checkpoint can supply restored credentials, capabilities, no_new_privs, and seccomp state. The restored process can run as root with full capabilities and no enforced seccomp filters while CRI status reports the requested configuration. Systems that do not use CRI checkpoint restore are not affected. This issue is fixed in versions 2.2.7 and 2.3.4.

Record
CVE-2026-95837
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-269
Updated
2026-11-02
OSVBELL-CVE-2026-95837 7.8
Record
BELL-CVE-2026-95837
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSV 7.8

containerd CRI plugin: Checkpoint restore bypasses destination security context

containerd is an open-source container runtime. From 2.1.0 until 2.2.7 and 2.3.4, containerd's CRI CreateContainer checkpoint restore is vulnerable because CRIU restores process security state from checkpoint data instead of enforcing the destination ContainerConfig. An attacker who can create a container from a crafted checkpoint can supply restored credentials, capabilities, no_new_privs, and seccomp state. The restored process can run as root with full capabilities and no enforced seccomp filters while CRI status reports the requested configuration. Systems that do not use CRI checkpoint restore are not affected. This issue is fixed in versions 2.2.7 and 2.3.4.

Record
CVE-2026-95837
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-269
Updated
2026-11-02
Show 5 moreShow less
OSVDEBIAN-CVE-2026-95837 7.8

containerd is an open-source container runtime. From 2.1.0 until 2.2.7 and 2.3.4, containerd's CRI CreateContainer checkpoint restore is vulnerable because CRIU restores process security state from checkpoint data instead of enforcing the destination ContainerConfig. An attacker who can create a container from a crafted checkpoint can supply restored credentials, capabilities, no_new_privs, and seccomp state. The restored process can run as root with full capabilities and no enforced seccomp filters while CRI status reports the requested configuration. Systems that do not use CRI checkpoint restore are not affected. This issue is fixed in versions 2.2.7 and 2.3.4.

Record
DEBIAN-CVE-2026-95837
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVGHSA-p7v4-vr35-mj6f 7.8

containerd CRI plugin: Checkpoint restore bypasses destination security context

Impact

A vulnerability in containerd's CRI implementation allows a container restored from an untrusted checkpoint via the CreateContainer API to bypass the destination security context and execute with elevated privileges. When restoring a container from a checkpoint archive or annotated OCI image, CRIU restores process credentials, Linux capabilities, no_new_privs, and seccomp state directly from checkpoint data rather than enforcing the destination CRI ContainerConfig. An attacker who can run a container with a crafted checkpoint image can execute processes as root with full capabilities and no enforced seccomp filters despite restrictive security policies requested by the orchestrator. Additionally, containerd's CRI status reporting reflects the requested configuration rather than the actual restored process state, masking the privilege discrepancy from orchestrators. This issue affects Linux systems running containerd with CRI checkpoint restore enabled; users not utilizing CRI checkpoint restore are not affected.

Patches

This bug has been addressed in containerd 2.2.7 and 2.3.4 by disabling checkpoint restore via CreateContainer by default. The feature has been removed entirely in containerd 2.4.0. Users should update to these versions to resolve the issue. Running containers that were restored from untrusted checkpoints should be stopped, deleted, and recreated.

Users who rely on restore via the CreateContainer API can re-enable the feature by setting the new enable_experimental_restore_via_create configuration option. However, enabling restore via CreateContainer leaves this vulnerability present, as containerd cannot enforce destination security policy during CRIU process restoration.

Workarounds

On unpatched versions, containerd does not provide a configuration option to disable checkpoint restore via CreateContainer. Deployments should restrict container creation permissions to trusted users, validate container image registries, or use admission controllers to reject images containing checkpoint data.

References

Credits

The containerd project would like to thank @l2yyd5 and @berkpolatCE for responsibly disclosing this issue in accordance with the containerd security policy.

For more information

If you have any questions or comments about this advisory:

To report a security issue in containerd:

Record
GHSA-p7v4-vr35-mj6f
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-269
Updated
2026-11-02
OSVUBUNTU-CVE-2026-95837 7.8

containerd is an open-source container runtime. From 2.1.0 until 2.2.7 and 2.3.4, containerd's CRI CreateContainer checkpoint restore is vulnerable because CRIU restores process security state from checkpoint data instead of enforcing the destination ContainerConfig. An attacker who can create a container from a crafted checkpoint can supply restored credentials, capabilities, no_new_privs, and seccomp state. The restored process can run as root with full capabilities and no enforced seccomp filters while CRI status reports the requested configuration. Systems that do not use CRI checkpoint restore are not affected. This issue is fixed in versions 2.2.7 and 2.3.4.

Record
UBUNTU-CVE-2026-95837
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVGO-2026-6791 No score

containerd CRI plugin: Checkpoint restore bypasses destination security context in github.com/containerd/containerd

containerd CRI plugin: Checkpoint restore bypasses destination security context in github.com/containerd/containerd

Record
GO-2026-6791
Updated
2026-11-02
OSVROOT-APP-GOBINARY-CVE-2026-95837 No score

CVE-2026-95837 in github.com/containerd/containerd/v2 - Patched by Root

Root has patched CVE-2026-95837 in the github.com/containerd/containerd/v2 package for Root:Go. Multiple fixed versions available.

Record
ROOT-APP-GOBINARY-CVE-2026-95837
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
github.com/containerd/containerd/v2
Go
2.1.0 up to 2.2.7
2.2.7
github.com/containerd/containerd/v2
Go
2.3.0 up to 2.3.4
2.3.4
containerd
Alpaquita:25
2.1.1-r0 up to 2.2.8-r0
2.2.8-r0
containerd
Alpaquita:stream
1.7.2-r1 up to 2.3.5-r0
2.3.5-r0
containerd
Debian:12
All versions, plus listed versions
1.6.20~ds1-11.6.20~ds1-1+deb12u11.6.20~ds1-1+deb12u21.6.20~ds1-1+deb12u31.6.20~ds1-2
Show 40 moreShow less
1.6.24~ds1-11.6.24~ds1-21.7.18~ds1-11.7.18~ds1-21.7.18~ds1-31.7.18~ds1-41.7.18~ds1-51.7.18~ds1-61.7.18~ds2-11.7.20~ds2-11.7.20~ds2-21.7.21~ds2-11.7.22~ds1-11.7.23~ds1-11.7.23~ds1-21.7.23~ds1-31.7.23~ds2-11.7.24~ds1-11.7.24~ds1-101.7.24~ds1-21.7.24~ds1-31.7.24~ds1-41.7.24~ds1-51.7.24~ds1-61.7.24~ds1-71.7.24~ds1-81.7.24~ds1-92.1.4~ds2-22.1.4~ds2-32.1.4~ds2-42.1.4~ds2-52.1.4~ds2-62.1.4~ds2-72.1.4~ds2-82.1.6+ds1-12.1.9+ds1-12.1.9+ds1-22.1.9+ds1-32.1.9+ds1-42.1.9+ds1-5
None known
containerd
Debian:13
All versions, plus listed versions
1.7.24~ds1-101.7.24~ds1-61.7.24~ds1-6+deb13u11.7.24~ds1-71.7.24~ds1-8
Show 14 moreShow less
1.7.24~ds1-92.1.4~ds2-22.1.4~ds2-32.1.4~ds2-42.1.4~ds2-52.1.4~ds2-62.1.4~ds2-72.1.4~ds2-82.1.6+ds1-12.1.9+ds1-12.1.9+ds1-22.1.9+ds1-32.1.9+ds1-42.1.9+ds1-5
None known
containerd
Debian:14
All versions, plus listed versions
1.7.24~ds1-101.7.24~ds1-61.7.24~ds1-71.7.24~ds1-81.7.24~ds1-9
Show 13 moreShow less
2.1.4~ds2-22.1.4~ds2-32.1.4~ds2-42.1.4~ds2-52.1.4~ds2-62.1.4~ds2-72.1.4~ds2-82.1.6+ds1-12.1.9+ds1-12.1.9+ds1-22.1.9+ds1-32.1.9+ds1-42.1.9+ds1-5
None known
github.com/containerd/containerd
Go
All versions None known
github.com/containerd/containerd/v2
Go
2.1.0 up to 2.2.7, 2.3.0 up to 2.3.4
2.2.72.3.4
github.com/containerd/containerd/v2
Root:Go
before v2.2.5-aikido.1
v2.2.5-aikido.1
Show 15 moreShow less
Affected packages
PackageAffectedFixed
rootio-github.com/containerd/containerd/v2
Root:Go
before v2.2.5-root.io.1
v2.2.5-root.io.1
containerd
Ubuntu:Pro:16.04:LTS
All versions, plus listed versions
0.2.1-0ubuntu4~16.040.2.3-0ubuntu1~16.040.2.5-0ubuntu1~16.04.11.2.6-0ubuntu1~16.04.21.2.6-0ubuntu1~16.04.3
Show 9 moreShow less
1.2.6-0ubuntu1~16.04.41.2.6-0ubuntu1~16.04.51.2.6-0ubuntu1~16.04.61.2.6-0ubuntu1~16.04.6+esm11.2.6-0ubuntu1~16.04.6+esm21.2.6-0ubuntu1~16.04.6+esm41.2.6-0ubuntu1~16.04.6+esm51.2.6-0ubuntu1~16.04.6+esm61.2.6-0ubuntu1~16.04.6+esm7
None known
containerd
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
0.2.5-0ubuntu21.2.6-0ubuntu1~18.04.11.2.6-0ubuntu1~18.04.21.3.3-0ubuntu1~18.04.11.3.3-0ubuntu1~18.04.2
Show 15 moreShow less
1.3.3-0ubuntu1~18.04.31.3.3-0ubuntu1~18.04.41.4.4-0ubuntu1~18.04.21.5.2-0ubuntu1~18.04.11.5.2-0ubuntu1~18.04.21.5.2-0ubuntu1~18.04.31.5.5-0ubuntu3~18.04.11.5.5-0ubuntu3~18.04.21.5.9-0ubuntu1~18.04.11.5.9-0ubuntu1~18.04.21.6.12-0ubuntu1~18.04.11.6.12-0ubuntu1~18.04.1+esm11.6.12-0ubuntu1~18.04.1+esm21.6.12-0ubuntu1~18.04.1+esm31.6.12-0ubuntu1~18.04.1+esm4
None known
containerd
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
1.2.10-0ubuntu11.3.2-0ubuntu11.3.3-0ubuntu11.3.3-0ubuntu21.3.3-0ubuntu2.1
Show 20 moreShow less
1.3.3-0ubuntu2.21.3.3-0ubuntu2.31.4.4-0ubuntu1~20.04.21.5.2-0ubuntu1~20.04.11.5.2-0ubuntu1~20.04.21.5.2-0ubuntu1~20.04.31.5.5-0ubuntu3~20.04.11.5.5-0ubuntu3~20.04.21.5.9-0ubuntu1~20.04.11.5.9-0ubuntu1~20.04.41.5.9-0ubuntu1~20.04.51.5.9-0ubuntu1~20.04.61.6.12-0ubuntu1~20.04.11.6.12-0ubuntu1~20.04.31.6.12-0ubuntu1~20.04.51.6.12-0ubuntu1~20.04.61.6.12-0ubuntu1~20.04.71.6.12-0ubuntu1~20.04.81.6.12-0ubuntu1~20.04.8+esm11.6.12-0ubuntu1~20.04.8+esm2
None known
containerd-app
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
1.7.2-0ubuntu1~20.04.11.7.12-0ubuntu2~20.04.11.7.24-0ubuntu1~20.04.11.7.24-0ubuntu1~20.04.21.7.24-0ubuntu1~20.04.2+esm11.7.24-0ubuntu1~20.04.2+esm2
None known
containerd
Ubuntu:22.04:LTS
All versions, plus listed versions
1.5.5-0ubuntu31.5.9-0ubuntu11.5.9-0ubuntu21.5.9-0ubuntu31.5.9-0ubuntu3.1
Show 9 moreShow less
1.6.12-0ubuntu1~22.04.11.6.12-0ubuntu1~22.04.31.6.12-0ubuntu1~22.04.51.6.12-0ubuntu1~22.04.61.6.12-0ubuntu1~22.04.71.6.12-0ubuntu1~22.04.81.6.12-0ubuntu1~22.04.91.6.12-0ubuntu1~22.04.101.6.12-0ubuntu1~22.04.11
None known
containerd-app
Ubuntu:Pro:22.04:LTS
All versions, plus listed versions
1.7.2-0ubuntu1~22.04.11.7.12-0ubuntu2~22.04.11.7.24-0ubuntu1~22.04.11.7.24-0ubuntu1~22.04.21.7.27-0ubuntu1~22.04.1
Show 4 moreShow less
1.7.28-0ubuntu1~22.04.11.7.28-0ubuntu1~22.04.1+esm12.2.1-0ubuntu1~22.04.12.2.1-0ubuntu1~22.04.2
None known
containerd-app
Ubuntu:24.04:LTS
All versions, plus listed versions
1.7.2-0ubuntu21.7.12-0ubuntu11.7.12-0ubuntu21.7.12-0ubuntu31.7.12-0ubuntu4
Show 11 moreShow less
1.7.12-0ubuntu4.11.7.19-0ubuntu1~24.04.11.7.19+really1.7.12-0ubuntu4.21.7.24-0ubuntu1~24.04.11.7.24-0ubuntu1~24.04.21.7.27-0ubuntu1~24.04.11.7.28-0ubuntu1~24.04.11.7.28-0ubuntu1~24.04.22.2.1-0ubuntu1~24.04.22.2.1-0ubuntu1~24.04.32.2.1-0ubuntu1~24.04.4
None known
containerd
Ubuntu:Pro:24.04:LTS
All versions, plus listed versions
1.6.20~ds1-1ubuntu21.6.24~ds1-1ubuntu11.6.24~ds1-1ubuntu1.11.6.24~ds1-1ubuntu1.21.6.24~ds1-1ubuntu1.2+esm1
Show 4 moreShow less
1.6.24~ds1-1ubuntu1.31.6.24~ds1-1ubuntu1.3+esm11.6.24~ds1-1ubuntu1.3+esm21.6.24~ds1-1ubuntu1.3+esm3
None known
containerd
Ubuntu:26.10
All versions, plus listed versions
1.7.24~ds1-10ubuntu12.1.9+ds1-2ubuntu12.1.9+ds1-3ubuntu12.1.9+ds1-5ubuntu1
None known
containerd-app
Ubuntu:26.10
All versions, plus listed versions
2.2.2-0ubuntu12.2.2-0ubuntu22.3.4+dfsg1-0ubuntu2
None known
containerd-stable
Ubuntu:26.10
All versions, plus listed versions
2.2.2-0ubuntu12.2.2-0ubuntu22.3.4+dfsg1-0ubuntu2
None known
containerd-app
Ubuntu:26.04:LTS
All versions, plus listed versions
2.1.3-0ubuntu32.2.1-0ubuntu12.2.2-0ubuntu12.2.2-0ubuntu1.12.2.2-0ubuntu1.2
None known
containerd-stable
Ubuntu:26.04:LTS
All versions, plus listed versions
2.1.3-0ubuntu12.1.5-0ubuntu12.2.1-0ubuntu12.2.2-0ubuntu12.2.2-0ubuntu1.1
None known
containerd
Ubuntu:Pro:26.04:LTS
All versions, plus listed versions
1.7.24~ds1-8ubuntu11.7.24~ds1-10ubuntu11.7.24~ds1-10ubuntu1+esm1
None known

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-95837 is a high vulnerability (CVSS 7.8) in Containerd, published October 12, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.11%, the 1st percentile. Fixed in github.com/containerd/containerd/v2 2.2.7.

References

Show 5 moreShow less
MoveEnter Open