<?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>Kyverno (V1.18.0, V1.18.1) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/kyverno-v1.18.0-v1.18.1/</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>Wed, 26 Aug 2026 20:20:47 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/kyverno-v1.18.0-v1.18.1/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>Kyverno Unvalidated CEL Namespace Argument Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-08-kyverno-cel-vulnerability/</link><pubDate>Wed, 26 Aug 2026 20:20:47 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-kyverno-cel-vulnerability/</guid><description>A vulnerability in Kyverno v1.18.0 and v1.18.1 allows a namespace-scoped user to execute arbitrary resource creation across the entire cluster by exploiting an unvalidated namespace argument in CEL expressions.</description><content:encoded><![CDATA[<p>Kyverno versions v1.18.0 and v1.18.1 contain a critical security vulnerability (CVE-2026-54523) where the <code>generator.apply()</code> function, accessible via CEL (Common Expression Language) expressions in <code>NamespacedMutatingPolicy</code>, fails to validate the target namespace argument. This allows an attacker with sufficient permissions to create a <code>NamespacedMutatingPolicy</code> within their own namespace to force the Kyverno admission controller to generate resources - such as ConfigMaps, Secrets, or RoleBindings - in any other namespace, including highly sensitive ones like <code>kube-system</code>.</p>
<p>Because the admission controller executes these operations with cluster-wide privileges, an attacker can effectively bypass Kubernetes namespace isolation. The root cause is the lack of namespace scope enforcement in <code>pkg/cel/policies/mpol/validate.go</code>, leaving the <code>generator.apply()</code> function susceptible to cross-namespace resource injection during admission processing.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker obtains <code>create</code> permissions on <code>namespacedmutatingpolicies.policies.kyverno.io</code> within a non-privileged namespace (e.g., <code>tenant-ns</code>).</li>
<li>Attacker crafts a malicious <code>NamespacedMutatingPolicy</code> object targeting standard resources like ConfigMaps.</li>
<li>Attacker inserts a <code>matchConditions</code> block containing a CEL expression that invokes <code>generator.apply(&quot;target-namespace&quot;, [resources])</code>.</li>
<li>Attacker specifies a sensitive destination namespace (e.g., <code>kube-system</code>) as the first argument in the <code>generator.apply</code> function.</li>
<li>Attacker creates a legitimate resource (e.g., a ConfigMap) in <code>tenant-ns</code> to trigger the Kyverno admission webhook.</li>
<li>The admission controller parses the <code>NamespacedMutatingPolicy</code> and executes the <code>generator.apply</code> function at request time.</li>
<li>The controller, operating with cluster-wide service account privileges, creates the attacker-defined resource in the target namespace.</li>
<li>Final objective is achieved, such as injecting malicious configuration, disrupting network policy, or escalating privileges via unauthorized RoleBinding creation.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for full namespace breakout and privilege escalation within the Kubernetes cluster. An attacker can inject unauthorized configuration into protected namespaces, modify network traffic flow via NetworkPolicies, or create elevated RoleBindings to gain persistent administrative access. Any Kubernetes cluster running Kyverno v1.18.0 or v1.18.1 that permits non-admin users to manage <code>NamespacedMutatingPolicy</code> resources is vulnerable to complete compromise.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately upgrade Kyverno to a patched version that enforces namespace validation for the <code>generator</code> library.</li>
<li>Audit all existing <code>NamespacedMutatingPolicy</code> objects for <code>matchConditions</code> blocks containing <code>generator.apply()</code> calls.</li>
<li>Restrict RBAC permissions for creating <code>NamespacedMutatingPolicy</code> resources to highly trusted service accounts or cluster administrators until the patch is applied.</li>
<li>Implement Admission Controller logging to monitor for resource creation events originating from <code>NamespacedMutatingPolicy</code> triggers in sensitive namespaces.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category></item></channel></rss>