---
id: CVE-2026-18107
title: >-
  Criu: criu: container escape via rseq critical section hijack during
  checkpoint/restore
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, al…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H'
cvssSource: cna
cwe:
  - CWE-269
vendor: Red Hat
product: criu
affected:
  - criu (all versions)
  - criu (all versions)
  - 'container-tools:rhel8/criu (all versions)'
  - criu (all versions)
  - criu (all versions)
  - criu (all versions)
  - openshift/ose-rhel-coreos-8 (all versions)
  - openshift/ose-rhel-coreos-9 (all versions)
  - openshift/ose-rhel-coreos-9 (all versions)
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-07-29T13:00:06.735309Z'
exploitAvailable: true
published: '2026-07-28'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T19:25:06.661Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-18107'
references:
  - url: 'https://access.redhat.com/security/cve/CVE-2026-18107'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2508140'
    label: RHBZ#2508140
  - url: 'https://github.com/checkpoint-restore/criu/pull/3097'
tags:
  - cve.org
  - exploit-available
epss: 0.00154
epssPercentile: 0.04596
exploits:
  github: 1
  githubRepos:
    - 'https://github.com/robalb/criu-exploit'
  checkedAt: '2026-11-05T22:39:08.698Z'
ingestedAt: '2026-11-05T22:38:31.538Z'
---

## Overview

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.

## Affected

- `criu (all versions)`
- `criu (all versions)`
- `container-tools:rhel8/criu (all versions)`
- `criu (all versions)`
- `criu (all versions)`
- `criu (all versions)`
- `openshift/ose-rhel-coreos-8 (all versions)`
- `openshift/ose-rhel-coreos-9 (all versions)`
- `openshift/ose-rhel-coreos-9 (all versions)`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

### Workarounds

Disable checkpoint/restore functionality in the container runtime if it is not required. If checkpoint/restore is needed, ensure containers run with user namespaces enabled, which limits the scope of spoofed capabilities to the user namespace.
