CVE-2026-18107

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.

Statement

This vulnerability requires that checkpoint/restore functionality is enabled for the container runtime, which is not a default configuration in most Red Hat products. The exploit allows a malicious process inside a container to spoof its credentials during CRIU checkpoint by hijacking the rseq (restartable sequences) mechanism used during parasite code injection. On restore, the container process gains full capabilities within its namespace.

SELinux type enforcement (container_t), seccomp filters, and kernel mount namespace ownership checks provide defense-in-depth that limits the practical impact even when the credential spoofing succeeds. On tested kernel 7.1, mount-based container escape was blocked despite spoofed capabilities.

Mitigation

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.

Common Vulnerability Scoring System (CVSS) Score Details

Info alert:Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

The following CVSS metrics and score provided are preliminary and subject to review.

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score7.8N/A7.8
Attack VectorLocalN/ALocal
Attack ComplexityHighN/AHigh
Privileges RequiredLowN/ALow
User InteractionNoneN/ANone
ScopeChangedN/AChanged
ConfidentialityHighN/AHigh
Integrity ImpactHighN/AHigh
Availability ImpactHighN/AHigh

Vector

Red Hat: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H

cve.org: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H

Red Hat CVSS v3 Score Explanation

Locally exploitable from within a container during checkpoint/restore. High complexity: requires checkpoint/restore to be enabled and the attacker to control the container code. Low privileges: any code running in the container. Scope changed: the exploit affects the host's credential model. Full CIA impact: spoofed credentials grant full DAC bypass within the container namespace.

Understanding the Weakness (CWE)

Access Control

Technical Impact: Gain Privileges or Assume Identity

Acknowledgements

Red Hat would like to thank Alberto Ventafridda for reporting this issue.

Frequently Asked Questions

Want to get errata notifications? Sign up here.