GitHub Advisory Databaseに、Echoのアクセス制御回避やIP偽装など、4件の脆弱性に関する勧告が掲載されています。このうち、WebSocket接続のリソース保持とgzip展開に関する勧告は、2026年10月22日に公開されました。利用企業は、導入版に加え、プロキシやIP抽出、圧縮データの展開設定を確認する必要があります。
WebSocket経由の認可回避と接続の残留を修正
WebSocketは、接続を維持してデータをやり取りする通信方式です。アクセス制御回避の欠陥「GHSA-cxf3-9h37-7rr8」では、通信の中継先である上流がWebSocketへの移行を承認したか確認せず、通信をそのまま通すトンネルに切り替えます。その結果、後続の要求がEchoの経路別の認証や、操作を許可する認可を迂回する恐れがあります。
悪用には、到達可能なプロキシ経路と、移行を拒否した後も接続を維持する上流が必要です。さらに、対象の上流側で独立した認可を行っていないことも条件です。上流自身の認証を破るものではありません。問題の実装はv4.16.0までのv4系と、v5.4.0までのv5系に存在します。
別の欠陥「GHSA-9969-6676-49h5」は、クライアントが切断しても、上流が接続を維持すると接続などが残る問題です。繰り返すとリソースが蓄積し、サービスを利用できなくなる恐れがあります。対象はv4.15.0~v4.16.0とv5.0.0~v5.4.0です。
この2件の修正版は、v4.16.1とv5.4.1です。更新までの対処は欠陥ごとに異なります。認可回避には対象経路へのWebSocket移行要求の拒否、または上流の各リソースでの認可が案内されています。接続の残留には、WebSocketプロキシ経路の無効化や、接続寿命・リソースの制限が回避策です。
IP偽装とgzip展開は設定も確認
IP偽装の欠陥「GHSA-h53f-rm2w-w7rg」は、v5.0.0~v5.4.0が対象で、v5.4.1で修正されています。直接の接続元ではなく、要求に含まれるX-Real-IPの値で信頼範囲を判定していました。IP許可リスト、IP別の要求回数制限、監査ログなどに偽装IPが使われる恐れがあります。
悪用には、Echoへ直接到達できるか、攻撃者のX-Real-IPをプロキシが中継する条件が必要です。更新までの回避策はExtractIPDirectの使用です。
gzip展開の欠陥「GHSA-h7wr-284f-5qvc」は、v4.0.0~v4.16.0が対象です。圧縮された要求本文を展開するDecompressミドルウェアで、メモリやCPUを過剰消費する恐れがあります。ただし、Decompressは初期状態では無効です。
修正版のv4.16.1は展開サイズの上限設定を追加し、設定値が0の場合は100 MiBを適用します。上限を超えた読み取りにはHTTP 413エラーを返します。更新までの回避策は、gzipリクエスト展開の無効化、またはDecompress後のBodyLimitによる本文サイズ制限です。
日本での提供は発表には書かれていません。
影響する会社・しない会社
- 影響する: 対象版のEchoでWebSocketプロキシ経路を使う会社です。認可回避については、上流が移行拒否後も接続を維持するか、上流側で認可しているかまで確認が必要です。
- 影響する: v5.0.0~v5.4.0で該当するIP抽出を使う会社や、v4.0.0~v4.16.0でDecompressを有効にしている会社です。版の一覧だけでなく、アプリの設定確認が必要です。
- 影響しない: IP偽装の欠陥については、Echo v4と、標準の直接IP抽出を使うアプリは対象外です。他の3件も対象外になるという意味ではありません。
- 影響しない: Decompressを無効のまま使う構成では、今回のgzip展開処理を利用しません。ただし、WebSocketやIP偽装の確認は別に必要です。