Skip to main content
← All vulnerabilities
CVE-2026-18107

Criu: criu: container escape via rseq critical section hijack during checkpoint/restore

Published
Last modified
published
Not listed in CISA KEV
1 proof of concept on GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • 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

References 4

access.redhat.com

bugzilla.redhat.com

GitHub · checkpoint-restore/criu

GitHub · robalb/criu-exploit