<?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>Arcane - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/arcane/</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>Sat, 23 May 2026 00:19:52 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/arcane/feed.xml" rel="self" type="application/rss+xml"/><item><title>Arcane Global Variables Endpoint Missing Admin Authorization Check</title><link>https://feed.craftedsignal.io/briefs/2026-05-arcane-global-vars-auth-bypass/</link><pubDate>Sat, 23 May 2026 00:19:52 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-arcane-global-vars-auth-bypass/</guid><description>A missing admin authorization check in the Arcane application on the `PUT /api/environments/{id}/templates/variables` endpoint allows any authenticated non-admin user to overwrite global environment variables, leading to supply-chain RCE, credential theft, and cross-tenant impact by overriding critical configuration values.</description><content:encoded><![CDATA[<p>The Arcane application, specifically versions 1.19.1 and earlier, contains a critical vulnerability related to the <code>PUT /api/environments/{id}/templates/variables</code> endpoint. This endpoint, which writes the system-wide <code>.env.global</code> file used for variable substitution in every project's compose file, lacks an admin authorization check. Consequently, any authenticated non-admin user can exploit this flaw by calling the endpoint with their bearer token or API key, effectively overwriting global environment variables that are merged into every project deployment. This oversight can be leveraged to compromise the entire Arcane instance.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker authenticates to the Arcane application as a non-admin user, obtaining a valid bearer token or API key.</li>
<li>The attacker crafts a <code>PUT</code> request to the <code>/api/environments/{id}/templates/variables</code> endpoint, with a malicious payload in the request body containing environment variables to overwrite.</li>
<li>The attacker injects malicious values for critical variables such as <code>REGISTRY</code>, <code>IMAGE</code>, <code>DATABASE_URL</code>, or <code>SECRET_KEY</code>. The <code>key</code> field can contain embedded newlines to inject arbitrary keys.</li>
<li>The Arcane backend processes the request through the <code>UpdateGlobalVariables</code> handler in <code>templates.go</code>, which fails to perform an admin role check.</li>
<li>The <code>UpdateGlobalVariables</code> function in <code>template_service.go</code> writes the attacker-supplied key-value pairs to the <code>&lt;projectsDirectory&gt;/.env.global</code> file, without proper sanitization or validation of the key field.</li>
<li>At deploy time, when any project loads its environment variables, the <code>loadAndMergeGlobalEnv</code> function in <code>env.go</code> reads and merges the attacker-modified <code>.env.global</code> file into the project's environment.</li>
<li>If <code>REGISTRY</code> or <code>IMAGE</code> were modified, subsequent deployments will pull attacker-controlled images from a malicious registry, resulting in arbitrary code execution on the Docker host.</li>
<li>If <code>DATABASE_URL</code> or other sensitive connection strings were modified, applications will connect to attacker-controlled servers, allowing for credential theft and data exfiltration.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows a non-admin user to achieve several critical impacts: cross-project supply-chain RCE on the Docker host, credential theft from other users' projects, cross-tenant integrity compromise leading to service disruption, and bypass of the intended privilege boundary. The vulnerability impacts any Arcane instance where non-admin users have access to the API and the instance depends on the global environment variables. Successful exploitation could allow full control of the host system.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the vendor-supplied patch or upgrade to a version of Arcane greater than 1.19.1 to address CVE-2026-47125.</li>
<li>Deploy the Sigma rule &quot;Detect Arcane Global Variable Override via API&quot; to detect unauthorized modifications to global environment variables via the vulnerable API endpoint.</li>
<li>Enable webserver logging and monitor HTTP requests to the <code>/api/environments/{id}/templates/variables</code> endpoint for suspicious activity, particularly PUT requests from non-admin users.</li>
<li>Implement robust input validation and sanitization on all user-supplied data, including environment variable keys and values, to prevent injection attacks.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>arcane</category><category>authorization-bypass</category><category>rce</category><category>credential-theft</category><category>supply-chain</category></item></channel></rss>