Skip to content
OpenAdvisories

Package · npm

pnpm

32 known vulnerabilities.

32 results · Feed

  • High 7.4

    pnpm 11.0.0 before 11.11.0 Environment Variable Exfiltration via Proxy Settings

    pnpm versions 11.0.0 before 11.11.0 and 10.7.0 before 10.34.5 expand ${VAR} environment-variable placeholders in the httpProxy, httpsProxy, and noProxy settings read from a project's pnpm-workspace.yaml. Because the manifest is repository-controlled and the p…

  • High 7.1

    pnpm: pacquet trust-lockfile install can create dependency symlinks outside the project

    ## Summary A crafted lockfile alias could reach several install-time filesystem joins. With `--trust-lockfile` or a frozen lockfile, traversal segments could create links outside the intended project or `node_modules` boundary. This patch validates dependency…

  • High 7.5

    pnpm: A tarball dependency's manifest `name` escapes node_modules → arbitrary file write/overwrite on install

    pnpm is a package manager. Prior to 10.34.5 and 11.11.0, pnpm accepts a scoped path traversal in a tarball dependency's package.json manifest name because pnpm11/resolving/npm-resolver/src/pickPackage.ts rejects slash characters only for unscoped names. Durin…

  • High 7.1

    pnpm: Virtual store linker path traversal via unvalidated depPath name in lockfileToDepGraph

    pnpm is a package manager. Prior to 10.34.5 and from 11.0.0 until 11.11.0, pnpm parses the package name from attacker-controlled pnpm-lock.yaml packages keys with dp.parse(depPath).name and uses it without validation in deps/graph-builder/src/lockfileToDepGra…

  • High 8.2

    pnpm: Path traversal in configDependencies env lockfile allows symlink creation outside node_modules/.pnpm-config

    pnpm is a package manager. Prior to 10.34.4 and 11.8.0, pnpm accepts package names from the env lockfile configDependencies section and uses those names directly when creating config dependency symlinks under node_modules/.pnpm-config. A malicious repository …

  • High 7.1

    pnpm: hoisted install imports lockfile alias outside node_modules

    pnpm is a package manager. Prior to 10.34.4 and 11.7.0, a crafted lockfile alias could be joined directly under a hoisted node_modules directory. Traversal aliases could escape that directory, while reserved aliases such as .bin or .pnpm could overwrite pnpm-…

  • High 7.1

    pnpm: patch-remove could delete project-selected files outside the patches directory

    pnpm is a package manager. Prior to 10.34.4 and 11.7.0, a crafted patch entry could resolve outside the configured patches directory and cause pnpm patch-remove to delete an arbitrary reachable file. This vulnerability is fixed in 10.34.4 and 11.7.0.

  • Medium 6.5

    pnpm: Repository config can expand victim environment secrets into registry requests before scripts run

    pnpm is a package manager. Prior to 10.34.2 and 11.5.3, pnpm and pacquet expanded ${ENV_VAR} placeholders from repository-controlled .npmrc and pnpm-workspace.yaml into registry request destinations and registry credentials. A malicious repository could cause…

  • Medium 4.8

    pnpm: Tarball hash of GitHub git dependencies is not stored in lockfile

    pnpm is a package manager. Prior to 10.33.4 and 11.0.7, a malicious codeload.github.com server can serve whatever tarball it wants and pnpm will install it regardless of the lockfile. The lockfile does not store the hash of the dependencies from https://codel…

  • Medium 6.9

    pnpm binds unscoped user-level npm auth credentials to a repository-selected registry

    pnpm is a package manager. Prior to 10.34.0 and 11.4.0, pnpm can send user-level unscoped npm authentication credentials to a registry chosen by a repository-local .npmrc file. In the reproduced case, the user's npm config contains a default registry and an u…

  • High 8.8

    pnpm: Transitive dependency alias path traversal allows project path override via symlink replacement

    pnpm is a package manager. Prior to 10.34.0 and 11.4.0, 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.…

  • High 7.3

    pnpm: Arbitrary File Write/Delete via Malicious Patch File (Path Traversal)

    pnpm is a package manager. Prior to 10.34.0 and 11.4.0, 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 wr…

  • Medium 6.4

    pnpm: Git Fetch Argument Injection via Lockfile resolution.commit

    pnpm is a package manager. Prior to 10.34.0 and 11.4.0, pnpm passes the lockfile-controlled git resolution.commit value to git fetch without a -- separator or commit-format validation. For git dependencies fetched through the shallow-fetch path, a malicious l…

  • Medium 6.8

    pnpm: Unsafe default behavior breaks integrity check

    pnpm is a package manager. Prior to 10.34.0 and 11.4.0, `pnpm install` in non-frozen mode can accept new remote package content after detecting that the downloaded tarball does not match the integrity recorded in pnpm-lock.yaml. When a package is already lock…

  • Medium 6.8

    pnpm: Integrity Check Bypass via Missing Lockfile Integrity Field

    pnpm is a package manager. Prior to 10.34.0 and 11.4.0, pnpm'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…

  • High 7.1

    pnpm: stage download writes outside destination via manifest version traversal

    pnpm is a package manager. From 11.3.0 until 11.5.3, `pnpm stage download` derived a local filename from registry-controlled package name and version fields. A crafted manifest could escape the selected download directory and overwrite another reachable file.…

  • Medium 6.5

    pnpm: reserved bin name deletes PNPM_HOME during global remove

    pnpm is a package manager. Prior to 10.34.2 and 11.5.3, Manifest bin object keys such as "", ".", and ".." passed pnpm's bin-name guard. When a malicious package was installed globally, later global remove, update, or add-replacement flows could re-derive tho…

  • High 8.8

    pnpm: Project env lockfile can short-circuit package-manager resolution and execute lockfile-selected pnpm bytes

    pnpm is a package manager. Prior to 10.34.2 and 11.5.3, pnpm can persist package-manager bootstrap metadata in the first YAML document of pnpm-lock.yaml. Before the patch, direct pnpm execution trusted an already resolved packageManagerDependencies entry when…

  • High 7.5

    pnpm: Repository-controlled configDependencies can select a pacquet native install engine

    pnpm is a package manager. Prior to 10.34.2 and 11.5.3, pnpm can install configDependencies declared in pnpm-workspace.yaml before command dispatch. Before the patch, a repository could declare pacquet or @pnpm/pacquet as a config dependency and pnpm treated …

  • High 7.5

    pnpm: manifest identity spoof satisfies allowBuilds and runs attacker lifecycle

    pnpm is a package manager. Prior to 10.34.2 and 11.5.3, the generic peer-suffix normalizer also stripped parenthesized text from git, URL, tarball, file, and other opaque locators. Approval for one source string could therefore authorize a different attacker-…

  • Medium 6.7

    pnpm has Path Traversal via arbitrary file permission modification

    pnpm is a package manager. Prior to version 10.28.2, when pnpm processes a package's `directories.bin` field, it uses `path.join()` without validating the result stays within the package root. A malicious npm package can specify `"directories": {"bin": "../..…

  • Medium 6.7

    pnpm has symlink traversal in file:/git dependencies

    pnpm is a package manager. Prior to version 10.28.2, when pnpm installs a `file:` (directory) or `git:` dependency, it follows symlinks and reads their target contents without constraining them to the package root. A malicious package containing a symlink to …

  • Medium 6.5

    pnpm scoped bin name Path Traversal allows arbitrary file creation outside node_modules/.bin

    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 a…

  • Medium 6.5

    pnpm has Windows-specific tarball Path Traversal

    pnpm is a package manager. Prior to version 10.28.1, a path traversal vulnerability in pnpm's tarball extraction allows malicious packages to write files outside the package directory on Windows. The path normalization only checks for `./` but not `.\`. On Wi…

  • Medium 6.5

    pnpm: Binary ZIP extraction allows arbitrary file write via path traversal (Zip Slip)

    pnpm is a package manager. Prior to version 10.28.1, a path traversal vulnerability in pnpm's binary fetcher allows malicious packages to write files outside the intended extraction directory. The vulnerability has two attack vectors: (1) Malicious ZIP entrie…

  • High 7.6

    pnpm vulnerable to Command Injection via environment variable substitution

    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 pn…

  • High 8.8

    pnpm v10+ Bypass "Dependency lifecycle scripts execution disabled by default"

    pnpm is a package manager. Versions 10.0.0 through 10.25 allow git-hosted dependencies to execute arbitrary code during pnpm install, circumventing the v10 security feature "Dependency lifecycle scripts execution disabled by default". While pnpm v10 blocks po…

  • High 7.5

    pnpm Lockfile Integrity Bypass Allows Remote Dynamic Dependencies

    pnpm is a package manager. Versions 10.26.2 and below store HTTP tarball dependencies (and git-hosted tarballs) in the lockfile without integrity hashes. This allows the remote server to serve different content on each install, even when a lockfile is committ…

  • Medium 6.5

    pnpm uses the md5 path shortening function causes packet paths to coincide, which causes indirect packet overwriting

    pnpm is a package manager. Prior to version 10.0.0, the path shortening function uses the md5 function as a path shortening compression function, and if a collision occurs, it will result in the same storage path for two different libraries. Although the real…

  • Medium 5.8

    pnpm vulnerable to no-script global cache poisoning via overrides / `ignore-scripts` evasion

    The package manager pnpm prior to version 9.15.0 seems to mishandle overrides and global cache: Overrides from one workspace leak into npm metadata saved in global cache; npm metadata from global cache affects other workspaces; and installs by default don't r…

  • High 7.5
    CVE-2023-37478 Public exploit

    pnpm incorrectly parses tar archives relative to specification

    pnpm is a package manager. It is possible to construct a tarball that, when installed via npm or parsed by the registry is safe, but when installed via pnpm is malicious, due to how pnpm parses tar archives. This can result in a package that appears safe on t…

  • High 8.8

    Untrusted Search Path in PNPM

    PNPM v6.15.1 and below was discovered to contain an untrusted search path which causes the application to behave in unexpected ways when users execute PNPM commands in a directory containing malicious content. This vulnerability occurs when the application is…