GHSA-m8cg-xc2p-r3fc

Suggest an improvement
Source
https://github.com/advisories/GHSA-m8cg-xc2p-r3fc
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/03/GHSA-m8cg-xc2p-r3fc/GHSA-m8cg-xc2p-r3fc.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-m8cg-xc2p-r3fc
Aliases
Related
Published
2023-03-30T20:17:24Z
Modified
2024-08-20T20:58:42.328556Z
Severity
  • 2.5 (Low) CVSS_V3 - CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:L CVSS Calculator
Summary
rootless: `/sys/fs/cgroup` is writable when cgroupns isn't unshared in runc
Details

Impact

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) 2. or, 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.

Patches

v1.1.5 (planned)

Workarounds

  • Condition 1: Unshare the cgroup namespace ((docker|podman|nerdctl) run --cgroupns=private). This is the default behavior of Docker/Podman/nerdctl on cgroup v2 hosts.
  • Condition 2 (very rare): add /sys/fs/cgroup to maskedPaths
References

Affected packages

Go / github.com/opencontainers/runc

Package

Name
github.com/opencontainers/runc
View open source insights on deps.dev
Purl
pkg:golang/github.com/opencontainers/runc

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.1.5