vm2 Node.jsライブラリにサンドボックス脱出攻撃を許す重大な脆弱性が発見される
Node.jsライブラリである**vm2**に一連の重大な脆弱性が発見され、攻撃者がサンドボックスを脱出し任意のコードを実行できる可能性があります。これらの欠陥は、信頼されていないJavaScriptコードを安全に分離することの固有の課題を浮き彫りにしています。

**vm2**は、信頼されていないJavaScriptコードを安全なサンドボックス環境内で実行するために設計されたオープンソースライブラリです。これは、JavaScriptオブジェクトをインターセプトおよびプロキシすることでこれを実現し、サンドボックス化されたコードがホストシステムにアクセスするのを防ぐことを目的としています。
## 脆弱性の詳細
12件の重大なセキュリティ脆弱性が開示されました。これらの脆弱性はすべて、悪意のある攻撃者が基盤となるシステムへの不正アクセスと制御を可能にするために悪用される可能性があります。
特定された欠陥の内訳は以下のとおりです。
* **CVE-2026-24118** (CVSSスコア: 9.8): `__lookupGetter__` を介したサンドボックスエスケープにより、ホスト上で任意のコード実行が可能になります。バージョン <= 3.10.4 に影響し、3.11.0 で修正されました。
* **CVE-2026-24120** (CVSSスコア: 9.8): CVE-2023-37466 のバイパスであり、Promise オブジェクトの species プロパティを介したサンドボックスエスケープを可能にします。バージョン <= 3.10.3 に影響し、3.10.5 で修正されました。
* **CVE-2026-24781** (CVSSスコア: 9.8): 「inspect」関数を介したサンドボックスエスケープにより、任意のコード実行が可能になります。バージョン <= 3.10.3 に影響し、3.11.0 で修正されました。
* **CVE-2026-26332** (CVSSスコア: 9.8): 「SuppressedError」を介したサンドボックスエスケープにより、任意のコード実行が可能になります。バージョン <= 3.10.4 に影響し、3.11.0 で修正されました。
* **CVE-2026-26956** (CVSSスコア: 9.8): 保護メカニズムの失敗により、Symbol から文字列への型変換によって生成される TypeError をトリガーすることで、任意のコード実行を伴うサンドボックスエスケープが可能になります。バージョン 3.10.4 に影響し、3.10.5 で修正されました。
* **CVE-2026-43997** (CVSSスコア: 10.0): コードインジェクションにより、ホストオブジェクトを取得し、サンドボックスをエスケープして任意のコード実行が可能になります。バージョン <= 3.10.5 に影響し、3.11.0 で修正されました。
* **CVE-2026-43999** (CVSSスコア: 9.9): NodeVM の組み込み許可リストのバイパスにより、child_process のような除外された組み込みをロードし、リモートコード実行を達成できます。バージョン 3.10.5 に影響し、3.11.0 で修正されました。
* **CVE-2026-44005** (CVSSスコア: 10.0): 攻撃者が制御する JavaScript がサンドボックスをエスケープし、プロトタイプ汚染を有効にすることを可能にします。バージョン 3.9.6-3.10.5 に影響し、3.11.0 で修正されました。
* **CVE-2026-44006** (CVSSスコア: 10.0): 「BaseHandler.getPrototypeOf」を介したコードインジェクションにより、サンドボックスエスケープとリモートコード実行が可能になります。バージョン <= 3.10.5 に影響し、3.11.0 で修正されました。
* **CVE-2026-44007** (CVSSスコア: 9.1): 不適切なアクセス制御により、サンドボックスエスケープと任意のオペレーティングシステムコマンドの実行が可能になります。バージョン <= 3.11.0 に影響し、3.11.1 で修正されました。
* **CVE-2026-44008** (CVSSスコア: 9.8): 「neutralizeArraySpeciesBatch()」を介したサンドボックスエスケープにより、任意のコマンド実行が可能になります。バージョン <= 3.11.1 に影響し、3.11.2 で修正されました。
* **CVE-2026-44009** (CVSSスコア: 9.8): null proto 例外を介したサンドボックスエスケープにより、任意のコマンド実行が可能になります。バージョン <= 3.11.1 に影響し、3.11.2 で修正されました。
## 対策
これらの開示は、1月に別の重大なサンドボックスエスケープ脆弱性である**CVE-2026-22709**が修正された後に続いています。**vm2**のメンテナーである**Patrik Simek**氏は、安全なJavaScriptサンドボックスの維持における継続的な課題を認め、さらなるバイパスの発見を予測しています。
**vm2**のユーザーは、これらの重大なリスクを軽減するために、最新バージョン(3.11.2)にアップデートすることを強く推奨します。