CVE-2023-25809

rootless: `/sys/fs/cgroup` is writable when cgroupns isn't unshared in runc

State
Published
Severity
5.0 Medium
Published
Mar 29, 2023
Updated
Feb 12, 2025
Reserved
Feb 15, 2023

Read the record on cve.org

Description

runc is a CLI tool for spawning and running containers according to the OCI specification. In affected versions it was found that rootless runc makes `/sys/fs/cgroup` writable in following conditons: 1. when runc is executed inside the user namespace, and the `config.json` does not specify the cgroup namespace to be unshared (e.g.., `(docker|podman|nerdctl) run --cgroupns=host`, with Rootless Docker/Podman/nerdctl) or 2. when runc is executed outside the user namespace, and `/sys` is mounted with `rbind, ro` (e.g., `runc spec --rootless`; this condition is very rare). A container may gain the write access to user-owned cgroup hierarchy `/sys/fs/cgroup/user.slice/...` on the host . Other users's cgroup hierarchies are not affected. Users are advised to upgrade to version 1.1.5. Users unable to upgrade may unshare the cgroup namespace (`(docker|podman|nerdctl) run --cgroupns=private)`. This is the default behavior of Docker/Podman/nerdctl on cgroup v2 hosts. or add `/sys/fs/cgroup` to `maskedPaths`.

Scores

CVSSScoreVectorSource
3.15.0 MediumCVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:LGitHub_M

Weaknesses

  • CWE-281 Improper Preservation of Permissions

Affected Products

ProductVersions
runcopencontainers
  • < 1.1.5Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.