undiciは、Node.js向けのHTTPクライアントライブラリです。バージョン7.15.0から7.30.0、および8.0.0から8.12.1において、undiciのデコンプレッションインターセプターは、zlibストリームイベントコールバックから受信したデコンプレッションされたレスポンスデータを、例外をキャッチせずに下流のハンドラに転送します。undiciのエンジンは、下流ハンドラから発生する同期的な例外を、リクエストごとのエラーとして処理しますが、zlibコールバックから非同期的に例外が発生した場合、その保護機能は働かなくなります。その結果、意図的に例外を発生させる下流ハンドラ(例えば、設定された最大サイズを超えるレスポンスを受信した場合に例外を発生させる組み込みのダンプインターセプターなど)は、未キャッチの例外として処理され、Node.jsプロセスが終了する可能性があります。悪意のあるHTTPサーバーや、セキュリティが侵害されたHTTPサーバーは、設定された制限を超えるサイズのデコンプレッションを行う小さな圧縮データを返すことで、デコンプレッションインターセプターとそのようなハンドラを組み合わせたクライアントをクラッシュさせることができます。この問題は、undiciのバージョン7.30.1および8.12.2で修正されており、ユーザーはこれらのバージョン以降にアップグレードすることを推奨します。回避策として、アップグレードするまでは、レスポンス処理中に例外を発生させるハンドラとデコンプレッションインターセプターを組み合わせて使用しないようにしてください。

CVSS 3.1: 7.5 (高) (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)