<?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>Banzai Cloud - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/banzai-cloud/</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, 31 Jul 2026 19:20:21 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/banzai-cloud/feed.xml" rel="self" type="application/rss+xml"/><item><title>SSRF and Credential Exfiltration in vault-secrets-webhook</title><link>https://feed.craftedsignal.io/briefs/2026-07-vault-secrets-webhook-ssrf/</link><pubDate>Fri, 31 Jul 2026 19:20:21 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-vault-secrets-webhook-ssrf/</guid><description>The vault-secrets-webhook is vulnerable to SSRF and ServiceAccount token theft due to unvalidated annotation handling, allowing attackers to exfiltrate JWTs via unauthorized outbound requests.</description><content:encoded><![CDATA[<p>The Banzai Cloud vault-secrets-webhook (versions &lt;= 1.22.2) contains a critical vulnerability (CVE-2026-54725) that enables Server-Side Request Forgery (SSRF) and cluster-wide privilege escalation. The webhook improperly validates the <code>vault.security.banzaicloud.io/vault-addr</code> annotation on Kubernetes ConfigMaps and Secrets. When an attacker creates or updates these resources with a <code>vault:</code> prefix, the webhook's admission handler synchronously invokes a request to the user-supplied URL.</p>
<p>Beyond the SSRF, the webhook holds excessive cluster-wide <code>serviceaccounts/token:create</code> permissions. When combined with the <code>vault-serviceaccount</code> annotation, an attacker can coerce the webhook to generate a token for any ServiceAccount and transmit that JWT to an attacker-controlled server. This enables attackers to impersonate authorized ServiceAccounts and access sensitive data from the Vault instance. The attack occurs during the admission review process, making it highly effective for users with standard namespace access rights.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker creates or updates a ConfigMap or Secret in a namespace monitored by the vault-secrets-webhook.</li>
<li>Attacker injects the <code>vault.security.banzaicloud.io/vault-addr</code> annotation with an attacker-controlled URL or internal metadata endpoint (e.g., 169.254.169.254).</li>
<li>Attacker specifies <code>vault.security.banzaicloud.io/vault-serviceaccount</code> pointing to a target ServiceAccount to be exfiltrated.</li>
<li>Webhook admission handler intercepts the request and parses the malicious annotations during the admission review cycle.</li>
<li>Webhook uses its cluster-wide RBAC permissions to call <code>CoreV1().ServiceAccounts().CreateToken</code> for the requested ServiceAccount.</li>
<li>Webhook initiates a synchronous HTTP request via <code>vault.NewClientFromConfigWithContext</code> to the attacker-defined URL.</li>
<li>The sensitive ServiceAccount JWT is transmitted via the Authorization header to the attacker-controlled server.</li>
<li>Attacker replays the captured JWT against the Vault instance to access unauthorized secrets.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for the exfiltration of high-privilege ServiceAccount JWTs, leading to complete credential compromise of Vault-managed secrets. Attackers can leverage the webhook's privileged network position to probe internal network infrastructure and cloud metadata services, potentially escalating access within the cloud environment. This vulnerability affects all environments running the vault-secrets-webhook where users have standard resource creation permissions in monitored namespaces.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Patch the vault-secrets-webhook to version 1.22.3 or higher to incorporate input validation for the vault-addr annotation and improved security controls.</li>
<li>Audit current ClusterRole definitions for the vault-secrets-webhook to restrict <code>serviceaccounts/token:create</code> permissions to the minimum necessary scope.</li>
<li>Use network policies to restrict egress traffic from the webhook pod to only allow communication with known, legitimate Vault server endpoints.</li>
<li>Monitor Kubernetes audit logs for ConfigMap and Secret operations containing the specified vault-security annotations.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">threat</category></item></channel></rss>