概要
Immutable.jsの mergeDeep()、mergeDeepWith()、merge()、Map.toJS()、Map.toObject() APIにPrototype Pollutionの脆弱性が存在します。攻撃者が細工したオブジェクトをこれらのAPIに渡すことで、Object.prototype を汚染し、アプリケーション全体の挙動に影響を与える可能性があります。
Immutable.jsはReact/Reduxエコシステムで広く利用されており、影響範囲が非常に大きい脆弱性です。
CVSSベクトル
| 項目 | 値 |
|---|---|
| スコア | 9.8(Critical) |
| 攻撃元区分 | ネットワーク |
| 攻撃条件の複雑さ | 低 |
| 必要な特権レベル | 不要 |
| ユーザー関与 | 不要 |
| CWE | CWE-1321(Prototype Pollution) |
影響を受けるソフトウェア
| パッケージ | 影響バージョン | 修正バージョン |
|---|---|---|
| immutable (npm) | < 3.8.3 | 3.8.3 |
| immutable (npm) | 4.x < 4.3.7 | 4.3.7 |
| immutable (npm) | 5.x < 5.1.5 | 5.1.5 |
修正バージョンと回避策
Immutable.js 3.8.3、4.3.7、5.1.5 へのアップデートで修正されます。アップデートが困難な場合は、信頼できないデータを mergeDeep() や merge() に直接渡さないようにしてください。
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
