脆弱性対応ウォッチ重大・クリティカル脆弱性のクラウド別対応まとめ
最新更新履歴CriticalHigh回避策のみパッチありAWSGCPAzureLinux
Critical CVSS 9.0 NEW
CVE-2026-100721

vm2 の NodeVM 外部モジュール許可判定の不備でサンドボックス脱出(CVSS 9.0・3.12.2 で修正)

情報取得日: 2026/09/27・本ページは公開情報の非公式まとめです

CVE IDCVE-2026-100721
製品vm2(patriksimek/vm2) / vm2(Node.js 用サンドボックスライブラリ)3.12.1 以下。修正版は 3.12.2
CVSS9.0(Critical)
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
種別 (CWE)CWE-863 不適切な認可
登録/公開日2026/09/27
出典https://nvd.nist.gov/vuln/detail/CVE-2026-100721

概要

**信頼できないコードを閉じ込めるための Node.js ライブラリ vm2 で、特定の設定のときにサンドボックスの外(ホスト側)で任意のコードを実行される。** NVD と vm2 の GitHub アドバイザリ(GHSA-5h3f-q97h-ccvc)による。 **仕組み**: NodeVM で `require.external` にカスタムのリゾルバを設定し、`context: 'host'` を使っている場合、許可したモジュールのディレクトリを「そのパスで始まるか」だけで判定していた。区切り文字や末尾の境界を見ていないため、許可した `foo` と名前の先頭が同じ隣のパッケージ(例 `foo2/index.js`)を絶対パスで `require` すると許可判定を通ってしまう。読み込まれたモジュールのトップレベルのコードはホストのプロセスで実行されるので、**サンドボックス脱出とホスト側での任意コード実行**になる。 **評価値はソースで割れている。** NVD に登録された CVSS 3.1(VulnCheck 付与)は **9.0 Critical**(AC:H・S:C)、CVSS 4.0 は 9.5。GitHub アドバイザリは CVSS 3.1 で **10.0** としている。本サイトの掲載値は NVD の 9.0 を採った。 **影響するのは上の3条件(カスタムリゾルバ・`context: 'host'`・外部モジュールの許可リスト)がそろう構成に限られる。** 影響版は 3.12.1 以下、修正版は **3.12.2**。アドバイザリの公開は 2026-09-08、NVD への登録は 2026-09-27。**CISA KEV には収載されていない。**

クラウド/OS 別の対応状況

各ベンダー公式アドバイザリで確認できた事実に基づき整理しています。確認できていない項目は「情報確認中」と明記し、存在しないパッチ番号・バージョンは記載しません。

AWS / GCP / Azure / Linux いずれも対応区分は同じです: パッチあり(アプリ更新) 参照先も共通です(一次情報)。 下の表は環境ごとの補足です。
環境対応状況対応方法・備考
AWS (ECS/EC2) パッチあり(アプリ更新)
Lambda / ECS / EC2 などで vm2 を使っているアプリは、依存を **vm2 3.12.2 以降**へ上げて再ビルド・再デプロイする。ライブラリの問題なので、クラウド側のパッチ配布は無い。
依存ツリーの確認は `npm ls vm2`。コンテナイメージの場合はイメージを作り直さないと古い vm2 が残る。
参照リンク
GCP パッチあり(アプリ更新)
Cloud Run / Cloud Functions / GKE などで vm2 を使っているアプリは、依存を **vm2 3.12.2 以降**へ上げて再ビルド・再デプロイする。ライブラリの問題なので、クラウド側のパッチ配布は無い。
Cloud Functions はデプロイ時に依存を解決するので、package.json とロックファイルの両方で 3.12.2 以上になっていることを確認する。
参照リンク
Azure パッチあり(アプリ更新)
Azure Functions / App Service / AKS などで vm2 を使っているアプリは、依存を **vm2 3.12.2 以降**へ上げて再ビルド・再デプロイする。ライブラリの問題なので、クラウド側のパッチ配布は無い。
依存の固定には npm の overrides が使える。
参照リンク
Linux パッチあり(アプリ更新)
**npm の依存として更新する。** vm2 は npm で配布されるライブラリなので、アプリ側で **3.12.2 以降**へ上げる。
ディストリのパッケージとして入れている場合は、配布元が 3.12.2 以降を出しているかを公式で要確認。
参照リンク

解決の方向性(パッチ/回避策/代替)

**vm2 を 3.12.2 以降へ更新する。** `npm ls vm2` で直接・間接の依存に入っているかを確認し、間接依存の場合は親パッケージの更新か、パッケージマネージャの overrides / resolutions で 3.12.2 以上に固定する。 **影響を受けるかの切り分け**: コード中の `new NodeVM(` の設定を見て、`require.external` にリゾルバ関数を渡しているか、`context: 'host'` を使っているかを確認する。どちらも使っていなければ、この CVE の経路には当たらない。 **すぐ更新できない場合**: アドバイザリは、許可判定を「完全一致、または直後がパス区切り文字のものだけ許す」境界付きの比較に直す修正方法を示している。あわせて、許可リストに載せるモジュール名が、同じディレクトリにある他のパッケージ名の先頭部分になっていないかを確認する。

よくある質問(CVE-2026-100721)

CVE-2026-100721(vm2)の影響は?

Critical(CVSS 9.0)に分類されるvm2(patriksimek/vm2) vm2(Node.js 用サンドボックスライブラリ)3.12.1 以下。修正版は 3.12.2の脆弱性です。**信頼できないコードを閉じ込めるための Node.js ライブラリ vm2 で、特定の設定のときにサンドボックスの外(ホスト側)で任意のコードを実行される。** NVD と vm2 の GitHub アドバイザリ(GHSA-5h3f-q97h-ccvc)による。 **仕組み**: NodeVM で `require.external` にカスタムのリゾルバを設定し、`context: 'host'` を使っている場合、許可したモジュールのディレクトリを「そのパスで始まるか」だけで判定していた。区切り文字や末尾の境界を見ていないため、許可した `foo` と名前の先頭が同じ隣のパッケージ(例 `foo2/index.js`)を絶対パスで `require` すると許可判定を通ってしまう。読み込まれたモジュールのトップレベルのコードはホストのプロセスで実行されるので、**サンドボックス脱出とホスト側での任意コード実行**になる。 **評価値はソースで割れている。** NVD に登録された CVSS 3.1(VulnCheck 付与)は **9.0 Critical**(AC:H・S:C)、CVSS 4.0 は 9.5。GitHub アドバイザリは CVSS 3.1 で **10.0** としている。本サイトの掲載値は NVD の 9.0 を採った。 **影響するのは上の3条件(カスタムリゾルバ・`context: 'host'`・外部モジュールの許可リスト)がそろう構成に限られる。** 影響版は 3.12.1 以下、修正版は **3.12.2**。アドバイザリの公開は 2026-09-08、NVD への登録は 2026-09-27。**CISA KEV には収載されていない。**

CVE-2026-100721 の対応方法・回避策は?

**vm2 を 3.12.2 以降へ更新する。** `npm ls vm2` で直接・間接の依存に入っているかを確認し、間接依存の場合は親パッケージの更新か、パッケージマネージャの overrides / resolutions で 3.12.2 以上に固定する。 **影響を受けるかの切り分け**: コード中の `new NodeVM(` の設定を見て、`require.external` にリゾルバ関数を渡しているか、`context: 'host'` を使っているかを確認する。どちらも使っていなければ、この CVE の経路には当たらない。 **すぐ更新できない場合**: アドバイザリは、許可判定を「完全一致、または直後がパス区切り文字のものだけ許す」境界付きの比較に直す修正方法を示している。あわせて、許可リストに載せるモジュール名が、同じディレクトリにある他のパッケージ名の先頭部分になっていないかを確認する。

自分の環境が CVE-2026-100721 の影響を受けるか確認するには?

vm2(patriksimek/vm2) vm2(Node.js 用サンドボックスライブラリ)3.12.1 以下。修正版は 3.12.2 を利用している場合、稼働バージョンが影響範囲に含まれるかを一次情報(https://nvd.nist.gov/vuln/detail/CVE-2026-100721)で確認してください。AWS・GCP・Azure・Linux それぞれの対応状況は本ページの「クラウド/OS 別の対応状況」表にまとめています。確認できていない項目は「情報確認中」と明記しており、存在しないパッチ番号・バージョンは記載していません。

参考情報(出典)

本ページの記載は下記の一次情報に基づく非公式まとめです。数値・対応状況は各出典元で最終確認してください。

NVD(CVE 基本情報・CVSS スコアの出典)
免責: 本ページは CISA KEV・NVD・各ベンダー公式アドバイザリ等の公開情報をもとにした非公式まとめです。修正バージョンや対応可否は変更される場合があります。実際の対応は必ず 出典元および各ベンダー公式情報・自環境で確認してください。

« 一覧に戻る