Lucene search
K

pnpm < 10.34.0 / 11.x < 11.4.0 Multiple Vulnerabilities

🗓️ 06 Jul 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 4 Views

pnpm versions older than 10.34.0 or 11.4.0 allow path traversal via transitive aliases and unsafe patch handling during install.

Related
Refs
Code
ReporterTitlePublishedViews
Family
ATTACKERKB
CVE-2026-50016
25 Jun 202616:53
attackerkb
ATTACKERKB
CVE-2026-50015
25 Jun 202616:52
attackerkb
Circl
CVE-2026-50015
25 Jun 202618:30
circl
Circl
CVE-2026-50016
25 Jun 202617:59
circl
CVE
CVE-2026-50015
25 Jun 202616:52
cve
CVE
CVE-2026-50016
25 Jun 202616:53
cve
Cvelist
CVE-2026-50015 pnpm: Arbitrary File Write/Delete via Malicious Patch File (Path Traversal)
25 Jun 202616:52
cvelist
Cvelist
CVE-2026-50016 pnpm: Transitive dependency alias path traversal allows project path override via symlink replacement
25 Jun 202616:53
cvelist
EUVD
EUVD-2026-39492
26 Jun 202622:59
euvd
EUVD
EUVD-2026-39494
26 Jun 202622:55
euvd
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(325223);
  script_version("1.2");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/07/07");

  script_cve_id("CVE-2026-50015", "CVE-2026-50016");
  script_xref(name:"IAVA", value:"2026-A-0637");

  script_name(english:"pnpm < 10.34.0 / 11.x < 11.4.0 Multiple Vulnerabilities");

  script_set_attribute(attribute:"synopsis", value:
"The pnpm package installed on the remote host is affected by multiple vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"The version of pnpm installed on the remote host is prior to 10.34.0, or 11.x prior to 11.4.0. It is, therefore,
affected by multiple vulnerabilities:

  - pnpm allows a transitive dependency alias from registry package metadata to contain path traversal
    segments. During install, pnpm later uses that alias as a filesystem path when linking dependency nodes.
    As a result, a registry package can cause pnpm install --ignore-scripts to replace paths in the current
    project with symlinks to attacker-controlled dependency package directories. (CVE-2026-50016)

  - pnpm's patch application pipeline (@pnpm/patch-package) performs no path validation on file paths
    extracted from .patch files. An attacker who contributes a malicious patch file via a pull request can
    write attacker-controlled content to or delete arbitrary files on the filesystem during pnpm install, as
    the user running the install. (CVE-2026-50015)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://github.com/pnpm/pnpm/security/advisories/GHSA-hwx4-2j3j-g496");
  script_set_attribute(attribute:"see_also", value:"https://github.com/pnpm/pnpm/security/advisories/GHSA-rxhj-4m44-96r4");
  script_set_attribute(attribute:"solution", value:
"Upgrade to pnpm version 10.34.0, 11.4.0, or later.");
  script_set_attribute(attribute:"agent", value:"all");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-50016");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2026/05/28");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/05/28");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/07/06");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"asset_categories", value:"component");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:pnpm:pnpm");
  script_set_attribute(attribute:"stig_severity", value:"I");
  script_set_attribute(attribute:"thorough_tests", value:"true");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Misc.");

  script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("nodejs_modules_win_installed.nbin", "nodejs_modules_linux_installed.nbin", "nodejs_modules_mac_installed.nbin");
  script_require_keys("Host/nodejs/modules/enumerated");

  exit(0);
}

include('vcf_extras_nodejs.inc');

get_kb_item_or_exit('Host/nodejs/modules/enumerated');

var app = 'pnpm';
var app_info = vcf_extras::nodejs_modules::get_app_info(app:app);

if (empty_or_null(app_info))
  audit(AUDIT_NOT_INST, app);

var constraints = [
  {'fixed_version': '10.34.0'},
  {'min_version': '11.0.0', 'fixed_version': '11.4.0'}
];

vcf::check_version_and_report(app_info:app_info, constraints:constraints, severity:SECURITY_HOLE);

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

07 Jul 2026 00:00Current
6.2Medium risk
Vulners AI Score6.2
CVSS 3.18.8
EPSS0.00326
SSVC
4