Description
containerd is an open-source container runtime. In versions prior to 1.7.32, 2.0.9, 2.2.4 and 2.3.1, containers launched with a numeric User directive that cannot be parsed as a 32-bit integer are incorrectly treated as a username, leading to runAsNonRoot evasion. 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. This issue has been fixed in versions 1.7.32, 2.0.9, 2.2.4 and 2.3.1.
Published: 2026-07-01
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw arises when containerd misinterprets a numeric User directive that exceeds the 32‑bit integer range as a username. An attacker can craft an image with an "/etc/passwd" file containing a mapping that resolves the oversized numeric string to the root user. Running that image causes the container to start with UID 0, thereby bypassing the Kubernetes runAsNonRoot policy and granting elevated privileges. This leads to privilege escalation when non‑root enforcement is expected.

Affected Systems

The flaw affects the containerd container runtime in all versions prior to 1.7.32, 2.0.9, 2.2.4, and 2.3.1. It applies to any deployment that relies on containerd to enforce non‑root execution policies, such as Kubernetes clusters using the runAsNonRoot field.

Risk and Exploitability

The flaw permits an attacker to supply a malicious container image that includes an oversized numeric User directive and a crafted "/etc/passwd" mapping that resolves the numeric value to root. When such an image is run under containerd in a Kubernetes cluster that relies on runAsNonRoot enforcement, the container starts with UID 0, giving the attacker elevated privileges. The CVSS score of 7.3 indicates high severity, but the EPSS score of < 1% signals that exploitation is currently unlikely; the vulnerability is not tracked in CISA KEV. Despite the low probability, the potential for privilege escalation makes this a critical concern for environments that mandate non‑root operation.

Generated by OpenCVE AI on August 1, 2026 at 22:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update containerd to 1.7.32 or later, 2.0.9 or later, 2.2.4 or later, or 2.3.1 or later.
  • Validate all container images to ensure that numeric User directives do not exceed the 32‑bit integer limit, or remove any oversized numeric user settings before deployment.
  • Enforce Kubernetes admission controls or policies that verify the runAsNonRoot constraint and reject images that rely on numeric user directives that could be interpreted as usernames.

Generated by OpenCVE AI on August 1, 2026 at 22:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-fqw6-gf59-qr4w containerd user ID handling bypass allows runAsNonRoot evasion
History

Fri, 03 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-681
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Important


Thu, 02 Jul 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 01 Jul 2026 23:45:00 +0000

Type Values Removed Values Added
First Time appeared Containerd
Containerd containerd
Vendors & Products Containerd
Containerd containerd

Wed, 01 Jul 2026 17:45:00 +0000

Type Values Removed Values Added
Description containerd is an open-source container runtime. In versions prior to 1.7.32, 2.0.9, 2.2.4 and 2.3.1, containers launched with a numeric User directive that cannot be parsed as a 32-bit integer are incorrectly treated as a username, leading to runAsNonRoot evasion. 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. This issue has been fixed in versions 1.7.32, 2.0.9, 2.2.4 and 2.3.1.
Title containerd user ID handling bypass allows runAsNonRoot evasion
Weaknesses CWE-269
References
Metrics cvssV4_0

{'score': 7.3, 'vector': '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'}


Subscriptions

Containerd Containerd
Linuxfoundation Containerd
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-03T03:56:06.341Z

Reserved: 2026-05-15T21:46:51.547Z

Link: CVE-2026-46680

cve-icon Vulnrichment

Updated: 2026-07-02T12:51:41.289Z

cve-icon NVD

Status : Analyzed

Published: 2026-07-01T18:16:32.853

Modified: 2026-07-03T04:17:53.813

Link: CVE-2026-46680

cve-icon Redhat

Severity : Important

Publid Date: 2026-07-01T17:40:25Z

Links: CVE-2026-46680 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-01T23:00:05Z

Weaknesses
  • CWE-269

    Improper Privilege Management

  • CWE-681

    Incorrect Conversion between Numeric Types