<?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 14:32:03 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-50021 — pnpm: Integrity Check Bypass via Missing Lockfile Integrity Field</title>
      <link>https://db.gcve.eu/vuln/cve-2026-50021</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 10.34.0 and 11.4.0, pnpm&amp;#39;s tarball extraction worker skips integrity verification when the integrity field is absent from the lockfile resolution. If an attacker can both modify pnpm-lock.yaml to remove the integrity: field and cause the referenced registry URL to serve altered package content, pnpm install --frozen-lockfile can install the altered package without an integrity error. npm&amp;#39;s npm ci enforces integrity by default; pnpm&amp;#39;s behavior of silently skipping verification is a pnpm-specific fail-open gap. This vulnerability is fixed in 10.34.0 and 11.4.0.&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 10.34.0 and 11.4.0, pnpm&amp;#39;s tarball extraction worker skips integrity verification when the integrity field is absent from the lockfile resolution. If an attacker can both modify pnpm-lock.yaml to remove the integrity: field and cause the referenced registry URL to serve altered package content, pnpm install --frozen-lockfile can install the altered package without an integrity error. npm&amp;#39;s npm ci enforces integrity by default; pnpm&amp;#39;s behavior of silently skipping verification is a pnpm-specific fail-open gap. This vulnerability is fixed in 10.34.0 and 11.4.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-50021</guid>
    </item>
    <item>
      <title>GHSA-q6j5-fjx5-2mc3 — pnpm Has an Integrity Check Bypass via Missing Lockfile Integrity Field</title>
      <link>https://db.gcve.eu/vuln/ghsa-q6j5-fjx5-2mc3</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: pnpm&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;pnpm&amp;#39;s tarball extraction worker skips integrity verification when the `integrity` field is absent from the lockfile resolution. If an attacker can both modify `pnpm-lock.yaml` to remove the `integrity:` field and cause the referenced registry URL to serve altered package content, `pnpm install --frozen-lockfile` can install the altered package without an integrity error. npm&amp;#39;s `npm ci` enforces integrity by default; pnpm&amp;#39;s behavior of silently skipping verification is a pnpm-specific fail-open gap.&lt;/p&gt;
&lt;p&gt;## Vulnerability Details&lt;/p&gt;
&lt;p&gt;The `addTarballToStore` function in `worker/src/start.ts` (lines 189-204) checks `if (integrity)` before verifying the tarball hash. The `TarballResolution` type declares `integrity` as optional (`integrity?: string`). When the lockfile omits the `integrity` field, the guard evaluates to `false`, skipping hash verification entirely. The worker then computes a new hash from the unverified content and stores it as legitimate.&lt;/p&gt;
&lt;p&gt;```typescript
// worker/src/start.ts:189-204
function addTarballToStore ({ buffer, storeDir, integrity, ... }: TarballExtractMessage) {
  if (integrity) {           // false when integrity is undefined
    const { algorithm, hexDigest } = parseIntegrity(integrity)
    const calculatedHash = crypto.hash(algorithm, buffer, &amp;#39;hex&amp;#39;)
    if (calculatedHash !== hexDigest) {
      return { status: &amp;#39;error&amp;#39;, error: { type: &amp;#39;integrity_validation_failed&amp;#39;, ... } }
    }
  }
  return {
    status: &amp;#39;success&amp;#39;,
    value: { integrity: in…&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&lt;/p&gt;
&lt;p&gt;pnpm&amp;#39;s tarball extraction worker skips integrity verification when the `integrity` field is absent from the lockfile resolution. If an attacker can both modify `pnpm-lock.yaml` to remove the `integrity:` field and cause the referenced registry URL to serve altered package content, `pnpm install --frozen-lockfile` can install the altered package without an integrity error. npm&amp;#39;s `npm ci` enforces integrity by default; pnpm&amp;#39;s behavior of silently skipping verification is a pnpm-specific fail-open gap.&lt;/p&gt;
&lt;p&gt;## Vulnerability Details&lt;/p&gt;
&lt;p&gt;The `addTarballToStore` function in `worker/src/start.ts` (lines 189-204) checks `if (integrity)` before verifying the tarball hash. The `TarballResolution` type declares `integrity` as optional (`integrity?: string`). When the lockfile omits the `integrity` field, the guard evaluates to `false`, skipping hash verification entirely. The worker then computes a new hash from the unverified content and stores it as legitimate.&lt;/p&gt;
&lt;p&gt;```typescript
// worker/src/start.ts:189-204
function addTarballToStore ({ buffer, storeDir, integrity, ... }: TarballExtractMessage) {
  if (integrity) {           // false when integrity is undefined
    const { algorithm, hexDigest } = parseIntegrity(integrity)
    const calculatedHash = crypto.hash(algorithm, buffer, &amp;#39;hex&amp;#39;)
    if (calculatedHash !== hexDigest) {
      return { status: &amp;#39;error&amp;#39;, error: { type: &amp;#39;integrity_validation_failed&amp;#39;, ... } }
    }
  }
  return {
    status: &amp;#39;success&amp;#39;,
    value: { integrity: in…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-q6j5-fjx5-2mc3</guid>
    </item>
  </channel>
</rss>
