{
 "version": "https://jsonfeed.org/version/1.1",
 "title": "pnpm: all CVE events",
 "home_page_url": "https://patchwire.jonathanross.dev/products/pnpm--pnpm/",
 "feed_url": "https://patchwire.jonathanross.dev/feeds/products/pnpm--pnpm/all.json",
 "authors": [
  {
   "name": "Patchwire"
  }
 ],
 "language": "en",
 "items": [
  {
   "id": "tag:patchwire.jonathanross.dev,2026:CVE-2026-101044/disclosed",
   "url": "https://patchwire.jonathanross.dev/cve/CVE-2026-101044/",
   "title": "CVE-2026-101044 disclosed",
   "content_text": "pacquet, the Rust package-manager component shipped in the pnpm npm package versions \u003e=12.0.0-alpha.0 and \u003c12.0.0-alpha.5, does not validate dependency alias/name paths taken from a lockfile before using them in install-time filesystem joins. When a user installs a project with an attacker-supplied lockfile using --trust-lockfile or a frozen lockfile, alias entries containing path traversal segments (for example '../../escaped-link') are used when creating dependency and package links, bin destinations, hoisted entries, and virtual-store slots, allowing symlinks and directories to be created outside the intended project and node_modules boundary. Version 12.0.0-alpha.5 validates dependency names and every virtual-store slot path with a shared safe-join containment helper before any filesystem materialization, rejecting traversal, absolute, platform-specific, and reserved names with ERR_PNPM_INVALID_DEPENDENCY_NAME.",
   "date_published": "2026-09-27T17:02:33Z"
  },
  {
   "id": "tag:patchwire.jonathanross.dev,2026:CVE-2026-101043/disclosed",
   "url": "https://patchwire.jonathanross.dev/cve/CVE-2026-101043/",
   "title": "CVE-2026-101043 disclosed",
   "content_text": "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 proxy keys were omitted from the request-destination key set that otherwise suppresses placeholder expansion for untrusted manifests (as already done for registry, pnprServer, registries and namedRegistries), an attacker who controls a repository's pnpm-workspace.yaml can cause a victim who clones the repository and runs a pnpm command (e.g. pnpm install) to expand environment secrets such as NPM_TOKEN or GITHUB_TOKEN into a proxy hostname or userinfo and route install traffic — and the corresponding DNS lookups — through an attacker-controlled host. The exfiltration occurs during configuration loading, before any lifecycle script executes. Fixed in pnpm 11.11.0 and 10.34.5.",
   "date_published": "2026-09-27T17:02:33Z"
  },
  {
   "id": "tag:patchwire.jonathanross.dev,2026:CVE-2026-101043/fixed/npm",
   "url": "https://patchwire.jonathanross.dev/cve/CVE-2026-101043/",
   "title": "CVE-2026-101043 fixed upstream (npm)",
   "content_text": "Fixed versions: pnpm 10.34.5, pnpm 11.11.0.",
   "date_published": "2026-09-27T17:02:33Z"
  }
 ]
}
