<?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>Builder-Util-Runtime &lt; 9.7.0 - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/builder-util-runtime--9.7.0/</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, 24 Jul 2026 14:06:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/builder-util-runtime--9.7.0/feed.xml" rel="self" type="application/rss+xml"/><item><title>electron-updater Vulnerability Leaks Credentials on Cross-Origin Redirects</title><link>https://feed.craftedsignal.io/briefs/2026-07-electron-updater-credential-leak/</link><pubDate>Fri, 24 Jul 2026 14:06:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-electron-updater-credential-leak/</guid><description>A vulnerability, CVE-2026-54673, in `electron-builder`'s `builder-util-runtime` package, specifically in its HTTP redirect handler, allows credential headers like `PRIVATE-TOKEN` (GitLab personal access tokens) and mixed-case `Authorization` tokens to be improperly forwarded to attacker-controlled cross-origin redirect destinations, resulting in credential disclosure and enabling unauthorized access to private GitLab resources.</description><content:encoded><![CDATA[<p>A significant vulnerability, tracked as CVE-2026-54673, has been identified in the <code>builder-util-runtime</code> package, a core component of <code>electron-builder</code>. This flaw impacts versions of <code>builder-util-runtime</code> prior to 9.7.0 (and <code>electron-builder</code> prior to v26.15.0). The vulnerability stems from an insufficient credential stripping mechanism within the HTTP redirect handler (<code>HttpExecutor.prepareRedirectUrlOptions</code>). Specifically, headers such as <code>PRIVATE-TOKEN</code> (used for GitLab personal access tokens) and <code>Authorization</code> when using mixed-case keys were not correctly stripped during cross-origin redirects. This allows sensitive credentials to be inadvertently forwarded to third-party, potentially malicious, redirect destinations. The issue primarily affects updater flows, particularly those interacting with private GitLab instances that commonly redirect asset downloads to external object storage. The vulnerability can lead to unauthorized access to private source code, packages, or release artifacts.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The <code>electron-updater</code> component initiates an update check, requesting a release asset from a trusted source, such as a private GitLab instance, while supplying authentication credentials (e.g., <code>PRIVATE-TOKEN</code> or <code>Authorization</code> header).</li>
<li>The trusted GitLab origin returns an HTTP 3xx redirect response, directing the client to an external object-storage origin (e.g., S3, GCS) for the asset download.</li>
<li>The <code>HttpExecutor.prepareRedirectUrlOptions</code> function within <code>builder-util-runtime</code> is invoked to handle the redirect and conditionally strip sensitive headers.</li>
<li>Due to a case-sensitive check, <code>headers?.authorization</code> evaluates to <code>undefined</code> for <code>PRIVATE-TOKEN</code> or mixed-case <code>Authorization</code> headers.</li>
<li>The sensitive header (e.g., <code>PRIVATE-TOKEN</code> or <code>Authorization</code> with mixed casing) is not removed by the vulnerable code path.</li>
<li>The <code>electron-updater</code> client then issues a request to the cross-origin redirect destination, including the sensitive, unstripped credential header.</li>
<li>An attacker controlling or observing the redirect destination receives the sensitive credential token.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This is a critical credential disclosure vulnerability, CVE-2026-54673, that can inadvertently expose sensitive authentication tokens. Specifically, it can leak GitLab personal access tokens (<code>PRIVATE-TOKEN</code>) and Bearer/OAuth tokens when they are sent under a mixed-case <code>Authorization</code> key. Any other custom credential header not exactly named &quot;authorization&quot; in lowercase would also be exposed. The disclosure of a GitLab personal access token grants an attacker the same repository and API permissions as the token itself, leading to unauthorized access to private source code repositories, software packages, and release artifacts. Such access can enable intellectual property theft, code manipulation, or further supply chain attacks.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Update <code>builder-util-runtime</code> to version <code>9.7.0</code> or higher immediately, or <code>electron-builder</code> to <code>v26.15.0</code> or higher to patch CVE-2026-54673.</li>
<li>Review all instances of <code>electron-updater</code> in your environment to ensure they are running patched versions.</li>
<li>Avoid using authenticated GitLab updater flows on vulnerable versions (e.g., <code>builder-util-runtime</code> &lt; 9.7.0).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>credential-access</category><category>exfiltration</category><category>vulnerability</category><category>electron</category><category>software-supply-chain</category><category>gitlab</category></item></channel></rss>