GHSA-fqw6-gf59-qr4w
containerd user ID handling bypass allows runAsNonRoot evasion
At a glance
- Published
- Updated
- CVE
- CVE-2026-46680
- Aliases
- GO-2026-5378
- CVSS_V3
- CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
- CVSS_V4
- CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Description
### Impact A bug was found in containerd where containers launched with a numeric `User` directive that cannot be parsed as a 32-bit integer are incorrectly treated as a username. If a crafted image provides an `/etc/passwd` file mapping this large numeric string to root, the container ultimately runs as root (UID 0). This allows the Kubernetes `runAsNonRoot` restriction to be bypassed, causing unexpected behavior for environments that require containers to run as a non-root user. ### Patches This bug has been fixed in the following containerd versions: * 2.3.1 * 2.2.4 * 2.0.9 * 1.7.32 Note: The containerd 2.1 release has reached its [end of life](https://containerd.io/releases/#current-state-of-containerd-releases) and a fixed version is not provided. Users should update to these versions to resolve the issue. ### Workarounds Ensure that only trusted images are used and that only trusted users have permissions to import images. Alternatively, enforcing a specific numeric `runAsUser` in the Kubernetes Pod `securityContext` overrides the `USER` directive in the image and prevents the bypass. Newer versions of Kubernetes, starting with 1.34, also appear to enforce `runAsNonRoot` properly regardless of this bug. ### Credits The containerd project would like to thank Lei Wang (@ssst0n3) for responsibly disclosing this issue in accordance with the [containerd security policy](https://github.com/containerd/project/blob/main/SECURITY.md). ### Resources * https://github.com/advisories/GHSA-265r-hfxg-fhmg (CVE-2024-40635) ### For more information If there are any questions or comments about this advisory: * Open an issue in [containerd](https://github.com/containerd/containerd/issues/new/choose) * Send an email to [security@containerd.io](mailto:security@containerd.io) To report a security issue in containerd: * [Report a new vulnerability](https://github.com/containerd/containerd/security/advisories/new) * Send an email to [security@containerd.io](mailto:security@containerd.io)
Affected packages
| Package | Versions |
|---|---|
| Go · github.com/containerd/containerd | introduced 1.7.27, fixed 1.7.32 |
| Go · github.com/containerd/containerd/v2 | introduced 2.0.4, fixed 2.0.9 |
| Go · github.com/containerd/containerd/v2 | introduced 2.1.0-beta.0, fixed 2.2.4 |
| Go · github.com/containerd/containerd/v2 | introduced 2.3.0-beta.0, fixed 2.3.1 |
References
- https://github.com/containerd/containerd/security/advisories/GHSA-fqw6-gf59-qr4w WEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-46680 ADVISORY
- https://github.com/containerd/containerd PACKAGE
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — GitHub Advisory Database |