<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sat, 03 Oct 2026 02:53:33 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-23890 — pnpm scoped bin name Path Traversal allows arbitrary file creation outside node_modules/.bin</title>
      <link>https://db.gcve.eu/vuln/cve-2026-23890</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; pnpm&lt;/p&gt;
&lt;p&gt;pnpm is a package manager. Prior to version 10.28.1, a path traversal vulnerability in pnpm&amp;#39;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; pnpm&lt;/p&gt;
&lt;p&gt;pnpm is a package manager. Prior to version 10.28.1, a path traversal vulnerability in pnpm&amp;#39;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-23890</guid>
    </item>
    <item>
      <title>GHSA-xpqm-wm3m-f34h — pnpm scoped bin name Path Traversal allows arbitrary file creation outside node_modules/.bin</title>
      <link>https://db.gcve.eu/vuln/ghsa-xpqm-wm3m-f34h</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: pnpm&lt;/p&gt;
&lt;p&gt;### Summary
A path traversal vulnerability in pnpm&amp;#39;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.&lt;/p&gt;
&lt;p&gt;### Details
The vulnerability exists in the bin name validation and normalization logic:&lt;/p&gt;
&lt;p&gt;**1. Validation Bypass (`pkg-manager/package-bins/src/index.ts`)**&lt;/p&gt;
&lt;p&gt;The filter allows any bin name starting with `@` to pass through without validation:&lt;/p&gt;
&lt;p&gt;```typescript
.filter((commandName) =&amp;gt;
  encodeURIComponent(commandName) === commandName ||
  commandName === &amp;#39;&amp;#39; ||
  commandName[0] === &amp;#39;@&amp;#39;  // &amp;lt;-- Bypasses validation
)
```&lt;/p&gt;
&lt;p&gt;**2. Incomplete Normalization (`pkg-manager/package-bins/src/index.ts`)**&lt;/p&gt;
&lt;p&gt;```typescript
function normalizeBinName (name: string): string {
  return name[0] === &amp;#39;@&amp;#39; ? name.slice(name.indexOf(&amp;#39;/&amp;#39;) + 1) : name
}
// Input:  @scope/../../evil
// Output: ../../evil  &amp;lt;-- Path traversal preserved!
```&lt;/p&gt;
&lt;p&gt;**3. Exploitation (`pkg-manager/link-bins/src/index.ts:288`)**&lt;/p&gt;
&lt;p&gt;The normalized name is used directly in `path.join()` without validation.&lt;/p&gt;
&lt;p&gt;### PoC
1. Create a malicious package:
```json
{
  &amp;#34;name&amp;#34;: &amp;#34;malicious-pkg&amp;#34;,
  &amp;#34;version&amp;#34;: &amp;#34;1.0.0&amp;#34;,
  &amp;#34;bin&amp;#34;: {
    &amp;#34;@scope/../../.npmrc&amp;#34;: &amp;#34;./malicious.js&amp;#34;
  }
}
```&lt;/p&gt;
&lt;p&gt;2. Install the package:
```bash
pnpm add /path/to/malicious-pkg
```&lt;/p&gt;
&lt;p&gt;3. Observe `.npmrc` created in project root (outside node_modules/.bin).&lt;/p&gt;
&lt;p&gt;### Impact
- All pnpm users who insta…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: pnpm&lt;/p&gt;
&lt;p&gt;### Summary
A path traversal vulnerability in pnpm&amp;#39;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.&lt;/p&gt;
&lt;p&gt;### Details
The vulnerability exists in the bin name validation and normalization logic:&lt;/p&gt;
&lt;p&gt;**1. Validation Bypass (`pkg-manager/package-bins/src/index.ts`)**&lt;/p&gt;
&lt;p&gt;The filter allows any bin name starting with `@` to pass through without validation:&lt;/p&gt;
&lt;p&gt;```typescript
.filter((commandName) =&amp;gt;
  encodeURIComponent(commandName) === commandName ||
  commandName === &amp;#39;&amp;#39; ||
  commandName[0] === &amp;#39;@&amp;#39;  // &amp;lt;-- Bypasses validation
)
```&lt;/p&gt;
&lt;p&gt;**2. Incomplete Normalization (`pkg-manager/package-bins/src/index.ts`)**&lt;/p&gt;
&lt;p&gt;```typescript
function normalizeBinName (name: string): string {
  return name[0] === &amp;#39;@&amp;#39; ? name.slice(name.indexOf(&amp;#39;/&amp;#39;) + 1) : name
}
// Input:  @scope/../../evil
// Output: ../../evil  &amp;lt;-- Path traversal preserved!
```&lt;/p&gt;
&lt;p&gt;**3. Exploitation (`pkg-manager/link-bins/src/index.ts:288`)**&lt;/p&gt;
&lt;p&gt;The normalized name is used directly in `path.join()` without validation.&lt;/p&gt;
&lt;p&gt;### PoC
1. Create a malicious package:
```json
{
  &amp;#34;name&amp;#34;: &amp;#34;malicious-pkg&amp;#34;,
  &amp;#34;version&amp;#34;: &amp;#34;1.0.0&amp;#34;,
  &amp;#34;bin&amp;#34;: {
    &amp;#34;@scope/../../.npmrc&amp;#34;: &amp;#34;./malicious.js&amp;#34;
  }
}
```&lt;/p&gt;
&lt;p&gt;2. Install the package:
```bash
pnpm add /path/to/malicious-pkg
```&lt;/p&gt;
&lt;p&gt;3. Observe `.npmrc` created in project root (outside node_modules/.bin).&lt;/p&gt;
&lt;p&gt;### Impact
- All pnpm users who insta…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-xpqm-wm3m-f34h</guid>
    </item>
  </channel>
</rss>
