何が起きたか
上の件と同時に、Echo のサービス拒否が3件公表されました。v4 の BodyDump はリクエストとレスポンスの本文を上限なしにメモリへ取り込み、v4 の Decompress は小さな gzip リクエストが展開後に巨大になるのを制限していませんでした。また Proxy ミドルウェアでは、WebSocket のクライアントが切断しても上流が接続を保つと、ハンドラーや goroutine、接続が残り続けます。BodyDump と Decompress は既定では有効になっていません。
やること
v4 系は v4.16.1、v5 系は v5.4.1 へ更新します。更新後は BodyDump の取り込み上限(既定 5 MiB)と Decompress の展開後上限(既定 100 MiB)が効きます。すぐ更新できない場合は、公開ルートで gzip リクエストの展開を止めるなどの対応をしてください。
出典
Echo のセキュリティ勧告(BodyDump)github.com英語 ↗Echo のセキュリティ勧告(Decompress)github.com英語 ↗Echo のセキュリティ勧告(WebSocket Proxy)github.com英語 ↗上の要約は通り道編集部がまとめたものです。影響範囲と修正版は必ず各出典で確認してください。