Node.jsプロジェクトは、実験的機能として導入が進められている「パーミッションモデル(Permission Model)」における深刻なアクセス制御バイパスの脆弱性を修正するため、複数のメンテナンス中バージョンに向けた緊急セキュリティリリースを公開しました。本脆弱性が悪用された場合、本来 --allow-fs-read や --allow-fs-write などのフラグによって厳格に制限されていたはずのファイルシステムへの不正アクセスや、任意のシステムコマンド実行が許容される恐れがあります。本記事では、脆弱性の詳細と影響範囲、そして開発現場が直ちに講じるべきアップデート手順を速報で解説します。
脆弱性の技術的背景とバイパス発生のメカニズム
Node.jsはv20以降、外部モジュールやサプライチェーン攻撃からシステムを保護するため、Denoやブラウザサンドボックスのような実行時権限制限(--experimental-permission)の実装を推進してきました。
しかし今回特定された脆弱性では、パスの正規化(Path Normalization)の不備や、特定の内部C++バインディングおよびプロトタイプ汚染を組み合わせることで、指定された制限ディレクトリ外のセンシティブな設定ファイル(/etc/passwd やクラウドプロバイダの認証トークンなど)を読み書きできてしまう欠陥が存在していました。
影響を受けるバージョンと修正版の提供状況
以下のNode.jsリリースラインが影響を受けます。
- Node.js v22.x 系列: 最新のセキュリティ修正パッチ(v22.x.x)へ即時アップデートが必要
- Node.js v20.x (LTS) 系列: 修正適用済みLTS版への更新が強く推奨
- Node.js v18.x 系列: 保守終了(EOL)直前の緊急バックポート修正を確認
インフラ管理者および開発チームが直ちに行うべきアクション
- 稼働環境のNode.jsバージョン確認:
node -vコマンドを実行し、プロジェクトのCI/CD環境、Dockerベースイメージ、本番サーバーのバージョンを棚卸しします。 - パーミッションモデルへの過信を見直す:
現在
--experimental-permissionフラグを本番環境でセキュリティ境界として単体で使用している場合、あくまで実験的機能であることを再認識し、OSレベルのコンテナ分離(DockerのリードオンリールートFSやseccompプロファイル)を併用する多層防御体制を維持してください。 - パッケージマネージャーによる依存関係スキャン:
npm auditや Snyk、Trivy などのスキャンツールを実行し、依存ライブラリに悪意あるペイロードが混入していないかを検証します。
セキュリティチームは速やかに検証環境での回帰テストを実施し、本番環境へのパッチ適用スケジュールを確定させてください。

