Skip to main content
Vulnerability Database/CVE-2026-88265

CVE-2026-88265: crun Path Traversal Vulnerability

CVE-2026-88265 is a path traversal flaw in crun that allows symlink exploitation to attach host files to container stdio and modify file ownership. This post explains its impact, affected versions, and mitigation steps.

Published:

CVE-2026-88265 Overview

CVE-2026-88265 is a symlink-following flaw in the crun container runtime that allows a local, low-privileged actor inside a container to attach a host file to container stdio and alter its ownership. The issue occurs after pivot_root, when crun reopens /dev/null for stdio and follows a symlink instead of the expected device node. Affected versions include crun 1.29.1 and earlier. Default configurations that mount a fresh /dev inside the container are not exposed. No fixed release is available at the time of publication.

Critical Impact

A container process can cause crun to reopen a host-side file as container stdio and change that file's ownership, enabling integrity impact on host files outside the container boundary.

Affected Products

  • crun container runtime, versions 1.29.1 and earlier
  • Container platforms bundling vulnerable crun (for example, Podman, CRI-O deployments)
  • Linux hosts running containers with non-default /dev configurations

Discovery Timeline

  • 2026-09-10 - CVE-2026-88265 published to the National Vulnerability Database (NVD)
  • 2026-09-10 - Last updated in NVD database

Technical Details for CVE-2026-88265

Vulnerability Analysis

The flaw resides in crun's stdio setup path executed after pivot_root. Following the root switch, crun reopens /dev/null to attach standard input, output, and error for the container process. If /dev/null inside the new root is a symlink instead of the expected character device, crun follows that symlink during reopen. The resolved target can point at a file on the host filesystem visible through the mount namespace. crun then treats that host file as container stdio and later performs a chown operation to align ownership with the container's user namespace mapping.

The result is that a container-controlled path can be redirected to a sensitive host file. Ownership of that file changes to a UID mapped inside the container's user namespace. This crosses the container isolation boundary and directly impacts host file integrity. The vulnerability is classified under [CWE-59] Improper Link Resolution Before File Access (Link Following).

Root Cause

The root cause is missing O_NOFOLLOW semantics or equivalent link-resolution hardening when crun reopens /dev/null for stdio after pivot_root. The runtime trusts that the path resolves to a device node inside the new root, but a hostile image or a compromised container can substitute a symlink pointing outside the intended device tree.

Attack Vector

Exploitation requires local access to a container that does not receive a fresh /dev mount from the runtime. An attacker who controls the container image or the container's early filesystem state replaces /dev/null with a symlink to a chosen host file. When crun reopens stdio, it opens the symlink target and then invokes chown against it. Attack complexity is high because the attacker must control container filesystem contents at the right lifecycle stage and the deployment must skip the default fresh /dev mount.

No verified proof-of-concept code is publicly available. Refer to the Red Hat CVE-2026-88265 Advisory and the Red Hat Bug Report #2531224 for vendor-provided technical detail.

Detection Methods for CVE-2026-88265

Indicators of Compromise

  • Unexpected ownership changes on host files, especially files whose paths could be reached from a container mount namespace.
  • Presence of a symlink at /dev/null inside a container rootfs where a character device is expected.
  • Container images or layers that ship a symlink in place of the standard /dev/null device node.

Detection Strategies

  • Inventory container images and inspect the /dev tree in each layer for symlinks replacing device nodes.
  • Audit container runtime configurations for workloads that disable the default fresh /dev mount.
  • Correlate chown syscall telemetry on host paths with container process ancestry to surface cross-boundary ownership changes.

Monitoring Recommendations

  • Enable auditd rules for chown, fchown, and lchownat syscalls issued by crun, runc, or container init processes.
  • Alert on file ownership changes to files under /etc, /root, /var, and other sensitive host paths originating from container runtime PIDs.
  • Track crun version across hosts and flag any host running 1.29.1 or earlier until a fixed release is available.

How to Mitigate CVE-2026-88265

Immediate Actions Required

  • Verify that container runtime configuration mounts a fresh /dev inside every container, which is the default and non-exposed configuration.
  • Review and reject container images that ship symlinks in place of /dev/null or other standard device nodes.
  • Restrict which users and workloads can launch containers with custom /dev configurations.

Patch Information

No fixed release of crun is available at the time of publication. Track upstream updates in the GitHub crun Container Runtime Repository and vendor guidance in the Red Hat CVE-2026-88265 Advisory for a corrected version.

Workarounds

  • Keep the runtime default that mounts a fresh /dev tmpfs inside containers; do not override this with host /dev bind mounts.
  • Enforce read-only or verified container images through signature validation to prevent substitution of /dev/null with a symlink.
  • Apply mandatory access controls such as SELinux or AppArmor policies that restrict crun from writing to sensitive host paths.
bash
# Verify /dev/null inside a running container is a character device, not a symlink
podman exec <container> stat -c '%F %n' /dev/null
# Expected output: character special file /dev/null

# Inspect an image layer for a symlinked /dev/null before running it
podman unshare -- ls -l $(podman image mount <image>)/dev/null

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.