<?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://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-03T03:12:53.292724+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" 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://db.gcve.eu/vuln/cve-2026-23890</id>
    <title>CVE-2026-23890 — pnpm scoped bin name Path Traversal allows arbitrary file creation outside node_modules/.bin</title>
    <updated>2026-10-03T03:12:53.295977+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. Prior to version 10.28.1, a path traversal vulnerability in pnpm's bin linking allows malicious npm packages to create executable shims or symlinks outside of `node_modules/.bin`. Bin names starting with `@` bypass validation, and after scope normalization, path traversal sequences like `../../` remain intact. This issue affects all pnpm users who install npm packages and CI/CD pipelines using pnpm. It can lead to overwriting config files, scripts, or other sensitive files. Version 10.28.1 contains a patch.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2026-23890"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-xpqm-wm3m-f34h</id>
    <title>GHSA-xpqm-wm3m-f34h — pnpm scoped bin name Path Traversal allows arbitrary file creation outside node_modules/.bin</title>
    <updated>2026-10-03T03:12:53.296088+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: pnpm</p>
<p>### Summary
A path traversal vulnerability in pnpm's bin linking allows malicious npm packages to create executable shims or symlinks outside of `node_modules/.bin`. Bin names starting with `@` bypass validation, and after scope normalization, path traversal sequences like `../../` remain intact.</p>
<p>### Details
The vulnerability exists in the bin name validation and normalization logic:</p>
<p>**1. Validation Bypass (`pkg-manager/package-bins/src/index.ts`)**</p>
<p>The filter allows any bin name starting with `@` to pass through without validation:</p>
<p>```typescript
.filter((commandName) =&gt;
  encodeURIComponent(commandName) === commandName ||
  commandName === '' ||
  commandName[0] === '@'  // &lt;-- Bypasses validation
)
```</p>
<p>**2. Incomplete Normalization (`pkg-manager/package-bins/src/index.ts`)**</p>
<p>```typescript
function normalizeBinName (name: string): string {
  return name[0] === '@' ? name.slice(name.indexOf('/') + 1) : name
}
// Input:  @scope/../../evil
// Output: ../../evil  &lt;-- Path traversal preserved!
```</p>
<p>**3. Exploitation (`pkg-manager/link-bins/src/index.ts:288`)**</p>
<p>The normalized name is used directly in `path.join()` without validation.</p>
<p>### PoC
1. Create a malicious package:
```json
{
  "name": "malicious-pkg",
  "version": "1.0.0",
  "bin": {
    "@scope/../../.npmrc": "./malicious.js"
  }
}
```</p>
<p>2. Install the package:
```bash
pnpm add /path/to/malicious-pkg
```</p>
<p>3. Observe `.npmrc` created in project root (outside node_modules/.bin).</p>
<p>### Impact
- All pnpm users who insta…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-xpqm-wm3m-f34h"/>
  </entry>
</feed>
