<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Capsule (&lt;= 0.13.5) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/capsule--0.13.5/</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>Fri, 18 Sep 2026 19:51:33 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/capsule--0.13.5/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Capsule Namespace and Service Metadata Enforcement Bypass</title><link>https://feed.craftedsignal.io/briefs/2026-09-capsule-bypass/</link><pubDate>Fri, 18 Sep 2026 19:51:33 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-capsule-bypass/</guid><description>A vulnerability in Capsule's metadata validation logic allows tenant owners to bypass configured forbidden labels and annotations, enabling unauthorized configuration changes to Kubernetes resources.</description><content:encoded><![CDATA[<p>Capsule, a multi-tenancy operator for Kubernetes, provides isolation controls through <code>forbiddenLabels</code> and <code>forbiddenAnnotations</code> configurations. These controls prevent tenant owners from applying specific metadata to namespaces, services, or nodes that could disrupt cluster-wide policies, such as Pod Security Admission or network routing. The enforcement mechanism relies on the <code>ExactMatch</code> function in <code>pkg/api/forbidden_list.go</code> to determine if a submitted key is prohibited.</p>
<p>The vulnerability stems from a logical flaw in how <code>ExactMatch</code> processes the forbidden list. The code sorts the list case-insensitively and then performs a binary search using byte-order comparison. Because binary searches require the slice to be sorted in the same order as the comparison method, this mismatch causes the search to fail for certain keys. When the administrator's forbidden list contains mixed-case entries (e.g., camelCase alongside lowercase), the binary search can incorrectly report that a prohibited key is absent. This failure is silent and allows the tenant owner to successfully apply forbidden metadata, effectively bypassing critical isolation controls.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker (tenant owner) identifies that they possess standard tenant-level access to create or patch namespaces or services within their assigned Capsule tenant.</li>
<li>Attacker inspects the environment to confirm the presence of a non-empty, mixed-case forbidden label or annotation policy (e.g., both <code>kubernetes.io/metadata.name</code> and camelCase vendor labels exist in the denied list).</li>
<li>Attacker crafts a Kubernetes resource request (e.g., <code>kubectl label</code>) targeting their own namespace or service, including a key that is explicitly present in the admin's forbidden list but affected by the binary search sorting mismatch.</li>
<li>The Capsule validating webhook intercepts the API request and triggers the <code>ValidateForbidden</code> function.</li>
<li>The <code>ExactMatch</code> primitive performs an incorrect binary search on the forbidden list due to the case-insensitive/byte-order sort conflict.</li>
<li>The <code>ExactMatch</code> function returns a false &quot;not forbidden&quot; result, causing <code>ValidateForbidden</code> to allow the submission.</li>
<li>The Kubernetes API server persists the resource with the forbidden metadata, bypassing intended isolation boundaries.</li>
<li>Attacker leverages the newly applied metadata to influence cluster behavior, such as altering security contexts, network policy enforcement, or scheduling decisions.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The vulnerability enables tenant owners to bypass isolation and security controls intended to be enforced by the cluster administrator. The successful application of forbidden metadata can result in security configuration overrides, such as disabling Pod Security Admission enforcement, circumventing namespace isolation, or manipulating service network exposure via LoadBalancer annotations. While the impact is gated by the presence of specific configuration patterns, the bypass provides a mechanism for privilege escalation within the multi-tenant environment.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Audit current Capsule configurations to identify if mixed-case forbidden lists (labels or annotations) are in use, as these represent the primary vector for this bypass.</li>
<li>Implement an immediate review of Capsule-managed tenant resources for unauthorized metadata keys, specifically looking for keys intended to be forbidden by admin policy.</li>
<li>Update Capsule to the patched version that reconciles the sorting order and binary search logic (awaiting vendor patch/version announcement).</li>
<li>Until a patch is applied, ensure forbidden lists contain only lowercase keys if possible, as uniformly lowercase lists are not impacted by this sorting defect.</li>
</ol>
]]></content:encoded><category domain="severity">medium</category><category domain="type">threat</category><category>kubernetes</category><category>misconfiguration</category><category>privilege-escalation</category><category>validation-bypass</category></item></channel></rss>