何が起きたか
サーバーが6つ以上の content-coding を並べた応答を返し、本文を送る前に接続を閉じると、undici の fetch() が Node.js プロセスを終了させます。undici はこの応答を上限超過として拒否しますが、その確認より前に内部の応答ストリームを作っており、エラーリスナーのないストリーム上で content-length の不一致が未処理の error として発生するためです。アプリ側で fetch() の reject を正しく catch していても防げません。
やること
6 系は 6.29.1、7 系は 7.30.1、8 系は 8.12.2 へ更新します。勧告では回避策は無いとされています。
出典
undici のセキュリティ勧告github.com英語 ↗GitHub Advisory Databasegithub.com英語 ↗上の要約は通り道編集部がまとめたものです。影響範囲と修正版は必ず各出典で確認してください。