何が起きたか
Proxy ミドルウェアは、クライアントが WebSocket の upgrade を求めた時点で、上流が受け入れたかを確かめずに生のトンネルへ切り替えていました。上流が通常の HTTP 応答を返して接続を保つと、その接続で続く HTTP リクエストは Echo のルーターやルート別ミドルウェアを通らずに上流へ直接転送されます。Echo のルートでだけ認証や認可をかけている場合、それを回避されます。
やること
v4 系は v4.16.1、v5 系は v5.4.1 へ更新します。すぐ更新できない場合は、該当する Proxy ルートに届く前に WebSocket の upgrade リクエストを拒否するか、上流側の各リソースで独立して認可をかけてください。上流が 101 以外を返すだけでは防げません。
出典
Echo のセキュリティ勧告github.com英語 ↗GitHub Advisory Databasegithub.com英語 ↗上の要約は通り道編集部がまとめたものです。影響範囲と修正版は必ず各出典で確認してください。