Asayomu Tech
注目★★★★★GitHub Advisory

pnpm にパストラバーサル脆弱性、configDependencies で node_modules 外にシンボリックリンク生成

30秒で把握

  • 1pnpm の configDependencies でパストトラバーサル可能・node_modules 外へのシンボリックリンク生成に成功
  • 2不正な pnpm-lock.yaml を commit するだけで発動・スクリプト実行不要で任意パス書き込み可能
  • 3clone したリポジトリの pnpm install 実行時に外部位置へのリンク生成リスクを評価・必要に応じて install 検証を強化

要約

pnpm は env ロックファイル内の configDependencies セクションからパッケージ名を読み込み、バリデーションなしにシンボリックリンク作成時に使用している。`../../PWNED_CFGDEP` のようなトラバーサル文字列を含む不正な pnpm-lock.yaml をリポジトリにコミットすると、pnpm install 時に意図した node_modules/.pnpm-config ディレクトリ外の任意の位置にシンボリックリンクが生成される可能性がある。v11.5.1 の検証では node_modules の外側にリンクが作成されることが確認されており、--ignore-scripts オプション使用時も発生する。

あなたへの影響

pnpm を使用するプロジェクトは lockfile の commit 前にチェックを厳格化するか。

推奨:非信頼ソースのリポジトリ clone 後の install を検証環境で実施する価値がある。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。