概要
JavaScript サンドボックス ライブラリ SandboxJS に CVSS 10.0(最高スコア)の サンドボックス 脱出 脆弱性 が 報告 されています。SandboxJS は グローバル オブジェクト へ の 直接 代入(例: Math.random = ...)を ブロック しますが、this.constructor.call(target, attackerObject) という パス を 経由 する ことで この 保護 を バイパス できます。
this.constructor が 内部 の SandboxGlobal 関数 に 解決 され、Function.prototype.call が 許可 されている ため、攻撃者 の コード は ホスト の グローバル オブジェクト に 任意 の プロパティ を 書き込み、同一 プロセス 内 の サンドボックス インスタンス を 横断 して 変更 を 永続 させる ことが 可能 です。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSS v3 スコア | 10.0 (Critical) |
| 攻撃元区分 (AV) | ネットワーク |
| 攻撃条件の複雑さ (AC) | 低 |
| 必要な特権 (PR) | なし |
| ユーザー関与 (UI) | なし |
| 影響範囲 (S) | 変更あり |
| 機密性への影響 (C) | 高 |
| 完全性への影響 (I) | 高 |
| 可用性への影響 (A) | 高 |
影響を受けるソフトウェア
- 製品名: SandboxJS
- ベンダー: nyariv
- 影響バージョン: 0.8.36 未満
脆弱性の種類
| CWE | 概要 |
|---|---|
| CWE-693 | 保護メカニズムの不備 |
| CWE-915 | 動的に決定されたオブジェクト属性の不適切な制御 |
修正バージョンと回避策
- 修正版: SandboxJS 0.8.36
- サンドボックス 内 で ユーザー 入力 の JavaScript を 実行 している 環境 では 速やか に アップデート してください
- アップデート が 困難 な 場合、
this.constructorへ の アクセス を 別途 ブロック する 対策 を 検討 してください
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
