<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Containerd — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/containerd/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Thu, 21 May 2026 21:41:41 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/containerd/feed.xml" rel="self" type="application/rss+xml"/><item><title>Containerd runAsNonRoot Bypass via Crafted User Directive (CVE-2026-46680)</title><link>https://feed.craftedsignal.io/briefs/2026-05-containerd-runasnonroot-bypass/</link><pubDate>Thu, 21 May 2026 21:41:41 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-containerd-runasnonroot-bypass/</guid><description>A vulnerability in containerd allows for bypassing the Kubernetes `runAsNonRoot` restriction by exploiting a misinterpretation of large numeric User directives in container images, potentially leading to container execution as root (UID 0); this is tracked as CVE-2026-46680 and CVE-2024-40635.</description><content:encoded><![CDATA[<p>A vulnerability exists within containerd that allows a malicious container image to bypass the <code>runAsNonRoot</code> security context in Kubernetes. This occurs when a container image specifies a numeric <code>User</code> directive that is too large to be parsed as a standard 32-bit integer, which containerd then incorrectly interprets as a username. If the attacker crafts a malicious image with an <code>/etc/passwd</code> file that maps this large numeric string to root, the container will execute as root, subverting intended security policies. This issue affects containerd versions before 2.3.1, 2.2.4, 2.0.9, and 1.7.32. Exploitation could lead to unauthorized access and privilege escalation within the containerized environment. This bypass impacts security implementations relying on <code>runAsNonRoot</code> to enforce least privilege. The vulnerability is identified as CVE-2026-46680 and CVE-2024-40635.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker creates a malicious container image with a crafted <code>/etc/passwd</code> file.</li>
<li>The <code>/etc/passwd</code> file maps a large numeric string (e.g., &ldquo;9999999999&rdquo;) to UID 0 (root).</li>
<li>The Dockerfile for the image includes a <code>USER</code> directive using this large numeric string (e.g., <code>USER 9999999999</code>).</li>
<li>The attacker deploys a pod to Kubernetes that uses the malicious image, but includes the <code>runAsNonRoot: true</code> securityContext option to enforce non-root execution.</li>
<li>Containerd attempts to start the container. Due to the vulnerability, containerd misinterprets the large numeric string as a username.</li>
<li>Containerd consults the <code>/etc/passwd</code> file within the image and incorrectly resolves the large numeric username to UID 0 (root).</li>
<li>The container is launched and executes as root, bypassing the intended <code>runAsNonRoot</code> restriction.</li>
<li>Attacker gains unauthorized root access within the container, potentially escalating privileges further within the cluster.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows attackers to bypass the <code>runAsNonRoot</code> security context in Kubernetes, forcing containers to run as root even when explicitly restricted. This can lead to privilege escalation, unauthorized access to sensitive data, and potential compromise of the entire Kubernetes cluster. The impact is especially severe in environments where <code>runAsNonRoot</code> is a critical security control for preventing container escape and lateral movement. The number of affected systems depends on the prevalence of vulnerable containerd versions and the reliance on <code>runAsNonRoot</code> for security enforcement.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade containerd to versions 2.3.1, 2.2.4, 2.0.9, or 1.7.32 to patch the vulnerability as described in the advisory [GHSA-fqw6-gf59-qr4w].</li>
<li>Enforce a specific numeric <code>runAsUser</code> in the Kubernetes Pod <code>securityContext</code> to override the <code>USER</code> directive in the image as a workaround.</li>
<li>Deploy the Sigma rule &ldquo;Detect Containerd runAsNonRoot Bypass via Large UID&rdquo; to identify exploitation attempts by detecting pods using images with a large UID as the user.</li>
<li>Monitor container images for suspicious <code>/etc/passwd</code> files that map large numeric strings to UID 0.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>runAsNonRoot</category><category>privilege-escalation</category><category>containerd</category><category>kubernetes</category></item></channel></rss>