CVE-2023-25809CWE-281

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

Medium · published March 29, 2023

CVSS v3.1
5.0
EPSS
0%
Percentile
23.6
In the wild
Unconfirmed
What it is

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`.

The record
Technical detail
CVSS v3.1
5.0 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:L
CVSS v4.0
Not supplied
EPSS
0.00319 · 23.6th percentile
Weakness
CWE-281 · Improper Preservation of Permissions
Published
2023-03-29T18:22Z
EPSS history
Timeline
  • 29 MAR 18:22Z
    rootless: `/sys/fs/cgroup` is writable when cgroupns isn't unshared in runc
    cvelistv5