<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-04T02:45:39.376757+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2025-69262</id>
    <title>CVE-2025-69262 — pnpm vulnerable to Command Injection via environment variable substitution</title>
    <updated>2026-10-04T02:45:39.378542+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> pnpm</p>
<p>pnpm is a package manager. Versions 6.25.0 through 10.26.2 have a Command Injection vulnerability when using environment variable substitution in .npmrc configuration files with tokenHelper settings. An attacker who can control environment variables during pnpm operations could achieve Remote Code Execution (RCE) in build environments. This issue is fixed in version 10.27.0.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2025-69262"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-2phv-j68v-wwqx</id>
    <title>GHSA-2phv-j68v-wwqx — pnpm vulnerable to Command Injection via environment variable substitution</title>
    <updated>2026-10-04T02:45:39.378633+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: pnpm</p>
<p>## Summary</p>
<p>A command injection vulnerability exists in pnpm when using environment variable substitution in `.npmrc` configuration files with `tokenHelper` settings. An attacker who can control environment variables during pnpm operations could achieve remote code execution (RCE) in build environments.</p>
<p>## Affected Components</p>
<p>- **Package**: pnpm
- **Versions**: All versions using `@pnpm/config.env-replace` and `loadToken` functionality
- **File**: `pnpm/network/auth-header/src/getAuthHeadersFromConfig.ts` - `loadToken()` function
- **File**: `pnpm/config/config/src/readLocalConfig.ts` - `.npmrc` environment variable substitution</p>
<p>## Technical Details</p>
<p>### Vulnerability Chain</p>
<p>1. **Environment Variable Substitution**
   - `.npmrc` supports `${VAR}` syntax
   - Substitution occurs in `readLocalConfig()`</p>
<p>2. **loadToken Execution**
   - Uses `spawnSync(helperPath, { shell: true })`
   - Only validates absolute path existence</p>
<p>3. **Attack Flow**
```
.npmrc: registry.npmjs.org/:tokenHelper=${HELPER_PATH}
   ↓
envReplace() → /tmp/evil-helper.sh
   ↓
loadToken() → spawnSync(..., { shell: true })
   ↓
RCE achieved
```</p>
<p>### Code Evidence</p>
<p>**`pnpm/config/config/src/readLocalConfig.ts:17-18`**
```typescript
key = envReplace(key, process.env)
ini[key] = parseField(types, envReplace(val, process.env), key)
```</p>
<p>**`pnpm/network/auth-header/src/getAuthHeadersFromConfig.ts:60-71`**
```typescript
export function loadToken(helperPath: string, settingName: string): string {
  if (!path.isAbs…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-2phv-j68v-wwqx"/>
  </entry>
</feed>
