30秒で判断
- 対応すべき人: seroval(npm)を直接、または依存フレームワーク経由で利用し、信頼できないJSONを
fromJSON()で復元している - 対応不要な人: seroval を利用していない、または 1.5.3 以降を使用している
- 確認コマンド:
npm ls serovalで依存バージョンを確認
概要
Seroval はJSONを超える複雑な構造を含むJS値のシリアライズ / デシリアライズを行うライブラリで、各種フロントエンドフレームワークが内部的に利用しています。本脆弱性は、seroval.fromJSON() が、攻撃者の制御下にあるJSONのPromise制御ノードを、内部Promiseリゾルバレコードの正当性を検証せずに一般のデシリアライズ参照テーブル上の値へ作用させてしまうことに起因します。プラグイン有効時にデシリアライズの副作用が発生し、下流フレームワークが呼び出し可能なラッパーを登録している場合、サーバー側の意図しない呼び出しやリモートコード実行につながる可能性があります。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSSスコア | 9.8(CRITICAL) |
| CWE | CWE-502(信頼できないデータのデシリアライズ), CWE-843(型の取り違え) |
影響を受けるソフトウェア
| 製品 | ベンダー | バージョン |
|---|---|---|
| seroval | lxsmnsyc | 1.5.3 より前 |
修正バージョンと回避策
バージョン 1.5.3 以降へアップデートしてください。seroval を間接依存として含むフレームワークを利用している場合は、そのフレームワークの更新も併せて確認してください。
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
