<?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>Clerk — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/clerk/</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>Thu, 30 Apr 2026 18:20:02 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/clerk/feed.xml" rel="self" type="application/rss+xml"/><item><title>Clerk Authorization Bypass Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-04-clerk-auth-bypass/</link><pubDate>Thu, 30 Apr 2026 18:20:02 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-clerk-auth-bypass/</guid><description>Clerk has an authorization bypass vulnerability in multiple packages where the `has()` and `auth.protect()` predicates can incorrectly return true, potentially allowing unauthorized actions.</description><content:encoded><![CDATA[<p>A critical authorization bypass vulnerability has been identified in Clerk&rsquo;s authorization predicates (<code>has()</code> and <code>auth.protect()</code>) across multiple SDKs, including <code>@clerk/shared</code>, <code>@clerk/nextjs</code>, and <code>@clerk/backend</code>. This flaw, reported on April 18, 2026, and patched on April 22, 2026, can lead to incorrect authorization decisions when combining multiple authorization dimensions (e.g., reverification with role). Specifically, the predicates may return <code>true</code> even if the user does not satisfy all required conditions, potentially allowing unauthorized access to gated actions. A secondary bypass exists in <code>@clerk/nextjs</code>, where <code>auth.protect()</code> silently discards authorization parameters under certain conditions. The vulnerability affects applications using specific combinations of authorization checks, emphasizing the need for immediate patching.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies an application utilizing affected Clerk packages and vulnerable authorization checks.</li>
<li>The attacker targets an endpoint protected by a combined authorization check (e.g., requiring a specific role and reverification).</li>
<li>The attacker crafts a request that satisfies one, but not all, of the authorization conditions.</li>
<li>Due to the bypass vulnerability, the <code>has()</code> or <code>auth.protect()</code> predicate incorrectly returns <code>true</code>.</li>
<li>The application grants the attacker access to the protected resource or functionality.</li>
<li>In the case of the <code>@clerk/nextjs</code> bypass, the attacker might exploit the silent discarding of authorization parameters when <code>unauthenticatedUrl</code>, <code>unauthorizedUrl</code>, or <code>token</code> are also present in the <code>auth.protect()</code> call, effectively bypassing authorization.</li>
<li>The attacker performs unauthorized actions, such as modifying data or accessing restricted areas of the application.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability could lead to unauthorized access to sensitive resources and functionalities within applications using Clerk for authentication and authorization. This could result in data breaches, privilege escalation, and other security incidents. The vulnerability affects a wide range of Clerk packages, potentially impacting a significant number of applications relying on Clerk for access control. Immediate patching is crucial to mitigate the risk of exploitation.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to the latest patch release of the consuming app&rsquo;s framework package as specified in the advisory to remediate CVE-2026-42349.</li>
<li>If immediate upgrade is not feasible, implement the suggested workaround of splitting combined <code>has()</code> or <code>auth.protect()</code> calls into sequential single-condition checks as described in the advisory.</li>
<li>Deploy the Sigma rule <code>ClerkAuthProtectBypass</code> to detect potential exploitation attempts by monitoring for calls to <code>auth.protect</code> that include <code>unauthenticatedUrl</code>, <code>unauthorizedUrl</code>, or <code>token</code> parameters.</li>
<li>Deploy the Sigma rule <code>ClerkCombinedAuthCheckBypass</code> to identify suspicious process creation events that may indicate unauthorized access due to the authorization bypass.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>authorization</category><category>bypass</category><category>clerk</category><category>cve-2026-42349</category></item><item><title>Clerk SSRF Vulnerability in frontendApiProxy Allows Secret Key Leakage</title><link>https://feed.craftedsignal.io/briefs/2026-03-clerk-ssrf/</link><pubDate>Sat, 28 Mar 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-clerk-ssrf/</guid><description>A server-side request forgery (SSRF) vulnerability exists in the `clerkFrontendApiProxy` function of the `@clerk/backend` package, allowing an unauthenticated attacker to send the application's `Clerk-Secret-Key` to an attacker-controlled server.</description><content:encoded><![CDATA[<p>The <code>clerkFrontendApiProxy</code> function in <code>@clerk/backend</code> versions 3.0.0 through 3.2.2, <code>@clerk/express</code> versions 2.0.0 through 2.0.6, <code>@clerk/hono</code> versions 0.1.0 through 0.1.4, and <code>@clerk/fastify</code> versions 3.1.0 through 3.1.4 is susceptible to a Server-Side Request Forgery (SSRF) vulnerability. This flaw enables an unauthenticated attacker to craft malicious request paths that, when processed by the proxy, result in the application&rsquo;s <code>Clerk-Secret-Key</code> being transmitted to a server under the attacker&rsquo;s control. Only applications that have explicitly enabled the <code>frontendApiProxy</code> feature are affected. This feature is not enabled by default, limiting the scope of potential impact. Notably, <code>@clerk/nextjs</code> users are not affected due to the framework&rsquo;s handling of repeated slashes in request paths, which mitigates the vulnerability.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies an application that has the <code>frontendApiProxy</code> feature enabled and is running a vulnerable version of <code>@clerk/backend</code>, <code>@clerk/express</code>, <code>@clerk/hono</code>, or <code>@clerk/fastify</code>.</li>
<li>The attacker crafts a malicious HTTP request targeting the proxy endpoint (<code>/__clerk/</code> by default). The request path includes double slashes or other path manipulation techniques to bypass intended routing logic.</li>
<li>The vulnerable <code>clerkFrontendApiProxy</code> function processes the crafted request without proper sanitization or validation of the request path.</li>
<li>Due to the SSRF vulnerability, the proxy makes an internal request to an unintended destination, potentially including an attacker-controlled server.</li>
<li>The application&rsquo;s <code>Clerk-Secret-Key</code> is inadvertently included in the headers or body of the internal request made by the proxy.</li>
<li>The attacker-controlled server receives the request containing the <code>Clerk-Secret-Key</code>.</li>
<li>The attacker extracts the <code>Clerk-Secret-Key</code> from the captured request.</li>
<li>With the compromised <code>Clerk-Secret-Key</code>, the attacker can impersonate the application, access protected resources, or perform other unauthorized actions within the Clerk ecosystem.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this SSRF vulnerability allows an attacker to obtain the <code>Clerk-Secret-Key</code> of a vulnerable application. While internal logs from Clerk show no evidence of active exploitation, the potential impact of a compromised secret key is significant. An attacker with the key can impersonate the application, potentially leading to unauthorized access to user data, modification of application settings, or other malicious activities. The severity is further heightened because a successful attack can occur without authentication.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to the patched version of <code>@clerk/backend</code> (3.2.3), <code>@clerk/express</code> (2.0.7), <code>@clerk/hono</code> (0.1.5), or <code>@clerk/fastify</code> (3.1.5) immediately if you are using the <code>frontendApiProxy</code> feature.</li>
<li>Rotate your Clerk Secret Key in the <a href="https://dashboard.clerk.com">Clerk Dashboard</a> under <strong>API Keys</strong> after upgrading to mitigate potential compromise, as recommended by the advisory.</li>
<li>Audit access logs for requests to your proxy endpoint (<code>/__clerk/</code> by default) containing double slashes in the path to detect potential exploitation attempts.</li>
<li>Deploy the Sigma rule provided below to identify requests with double slashes to the Clerk proxy endpoint.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>ssrf</category><category>vulnerability</category><category>clerk</category><category>cloud</category></item></channel></rss>