<?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>Rbac-Bypass — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/rbac-bypass/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 17 Apr 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/rbac-bypass/feed.xml" rel="self" type="application/rss+xml"/><item><title>Kyverno ConfigMap Cross-Namespace Read RBAC Bypass (CVE-2026-22039 Incomplete Fix)</title><link>https://feed.craftedsignal.io/briefs/2026-04-kyverno-configmap-rbac-bypass/</link><pubDate>Fri, 17 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-kyverno-configmap-rbac-bypass/</guid><description>CVE-2026-22039 incompletely fixed a cross-namespace privilege escalation vulnerability in Kyverno's apiCall context, as the ConfigMap context loader still lacks namespace validation, allowing a namespace admin to read ConfigMaps from any namespace using Kyverno's privileged service account, leading to a complete RBAC bypass in multi-tenant Kubernetes clusters.</description><content:encoded><![CDATA[<p>This brief addresses a critical vulnerability in Kyverno version 1.17.0 (and earlier) related to cross-namespace ConfigMap access, stemming from an incomplete fix for CVE-2026-22039. While the original CVE addressed privilege escalation in Kyverno&rsquo;s <code>apiCall</code> context, the ConfigMap context loader (<code>pkg/engine/context/loaders/configmap.go</code>) still lacks namespace validation. This allows a namespace administrator to craft a Kyverno policy that reads ConfigMaps from any namespace, effectively bypassing RBAC controls. This vulnerability impacts multi-tenant Kubernetes clusters, particularly those running Azure Kubernetes Service (AKS) or other managed Kubernetes services using Kyverno. Exploitation requires a namespace admin to create a Kyverno Policy resource in their namespace.  A successful exploit allows the attacker to exfiltrate sensitive data, such as database credentials and API keys, stored in ConfigMaps across the cluster.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker with namespace admin privileges creates a service account and role binding within their assigned namespace.</li>
<li>The attacker deploys a Kyverno <code>Policy</code> resource within their namespace. This policy is crafted to exploit the vulnerability in the ConfigMap context loader.</li>
<li>The policy specifies <code>context.configMap.namespace</code> to target a ConfigMap in a different, victim namespace.  This step leverages the lack of namespace validation in <code>pkg/engine/context/loaders/configmap.go</code>.</li>
<li>The policy includes a <code>mutate</code> rule designed to extract data from the targeted ConfigMap and embed it into annotations of another ConfigMap within the attacker&rsquo;s namespace.</li>
<li>The attacker triggers the policy by creating or modifying a ConfigMap (e.g., <code>trigger-cm</code>) in their own namespace. This triggers Kyverno&rsquo;s admission controller.</li>
<li>Kyverno, running with a privileged service account (cluster-wide <code>view</code> role), fetches the ConfigMap from the victim namespace based on the attacker&rsquo;s policy.</li>
<li>The <code>mutate</code> rule in the policy executes, copying the contents of the stolen ConfigMap data into annotations of the trigger ConfigMap.</li>
<li>The attacker retrieves the modified <code>trigger-cm</code> ConfigMap and extracts the exfiltrated secrets from the annotations.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows a namespace administrator to bypass Kubernetes RBAC and read ConfigMaps from any namespace within the cluster. This can lead to the exfiltration of sensitive data such as database credentials, API keys, and other secrets stored in ConfigMaps. The impact is most severe in multi-tenant environments where namespace isolation is critical for security.  This vulnerability affects any Kubernetes cluster running Kyverno v1.17.0 (and earlier) with namespace-scoped Policy creation enabled. A successful attack violates the principle of least privilege and breaks multi-tenancy guarantees.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Detect Kyverno Policy Creating Cross-Namespace ConfigMap Context</code> to identify potentially malicious policies.</li>
<li>Apply the namespace validation fix suggested in the advisory to <code>configmap.NewConfigMapLoader()</code>.  Specifically, ensure the resolved namespace in the ConfigMap context matches the policy&rsquo;s namespace (<code>pkg/engine/context/loaders/configmap.go</code>).</li>
<li>Audit other Kyverno context loaders (<code>globalReference</code>, <code>imageRegistry</code>, <code>variable</code>) for similar missing namespace validation patterns.</li>
<li>Upgrade to a patched version of Kyverno as soon as it is released. Refer to the Kyverno release notes for the fix version.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>kyverno</category><category>rbac-bypass</category><category>kubernetes</category><category>privilege-escalation</category></item></channel></rss>