概要
bin シムやランチャー、設定ファイルを悪用されないようにする修正。Nix では command -p が呼び出し元の PATH にフォールバックするため、依存パッケージの sed などの名前の bin が POSIX シムや pnpm/pn/pnpx/pnx ランチャーを乗っ取れたが、node_modules と相対・空のエントリを除いた PATH でヘルパーを探すようになった。v12.7.0・v11.28.0 のリリースノートでは、このほか pnpm-workspace.yaml の userAgent のプレースホルダーを展開しない修正、ワークスペース内の storeDir(v12.7.0)やカスタム modulesDir(v11.28.0)のパッケージのライフサイクルスクリプトに関する修正、シェル補完の修正(v11.28.0)がセキュリティ修正として挙げられている。その後、TypeScript 版 CLI が同梱する undici を脆弱性対応の 7.29.1 に上げ、プロジェクトの pnpm-workspace.yaml の globalShims を無視するようになった(未リリース)。v10.34.6 では pnpm self-update がプロジェクトの設定でダウンロード先や検証を変えられないようになり、adm-zip の脆弱性も修正された。
主な API・オプション
- POSIX シム・ランチャー —
node_modulesと相対・空のエントリを除いたPATHでヘルパーを解決。再インストールで修正前のシムが置き換わる pnpm-workspace.yamlのuserAgent— プレースホルダーを含むものは無視される(リリースノートより)globalShims— プロジェクトのマニフェストでは無視(pnpm home のpnpm-workspace.yamlは有効)
変更履歴
- 2026-09-30 — プロジェクトの
pnpm-workspace.yamlのglobalShimsを無視(#16368)⏳ 未リリース · 変更 - 2026-09-30 — undici を 7.29.1 に更新(GHSA-3wwx-pv8p-q78v、#16363)⏳ 未リリース · 変更
- 2026-09-28 — Nix で依存パッケージの bin がシムを乗っ取れないように(#14903)📦 pnpr@0.1.0-alpha.13 · 変更