Serovalの`fromJSON`/`fromCrossJSON`における、検証されていない配列ノードの長さによるサービス拒否(DoS)の脆弱性
### 概要
`fromJSON`および`fromCrossJSON`は、配列ノードの要素リストが配列であることを確認していませんでした。細工された小さなデータ(ペイロード)を使用することで、デコーダが使用する長さを設定することが可能でした。その長さは、割り当てられるメモリ量やデコーダのループ回数を制御し、ペイロードのサイズには依存しません。
### 影響
`fromJSON`または`fromCrossJSON`に信頼できない入力を渡すサービスは、認証されていないリクエストによって利用できなくなる可能性があります。
- 小さなペイロードでも、プロセスを終了させるのに十分なメモリを割り当てることが可能です。
- 小さなペイロードでも、スレッドを数秒間、または無限にブロックすることが可能です。
これは、これらの関数を使用してリクエストボディをデコードし、その後、独自の検証を行うフレームワークに影響を与えます。
この問題は、1.4.1で修正されたGHSA-66fc-rw6m-c2q6の修正を回避するものです。
### 修正
`seroval@1.6.8`で修正されました。デシリアライザは、要素リストが配列でないノードを拒否し、`SerovalMalformedNodeError`をスローします。
### 対策
特になし。1.6.8にアップグレードしてください。
影響を受けるパッケージ:
- npm (JavaScript) seroval: 影響範囲は1.4.1以上、1.6.7以下、1.6.8で修正済み。