セキュリティアドバイザリー

Fastly セキュリティアドバイザリー : X-Forwarded-Host ヘッダーを利用したキャッシュポイズニングの脆弱性

2020年8月5日

対象範囲


この脆弱性は、[以前に報告された脆弱性] (https://www.fastly.com/security-advisories/cache-poisoning-leveraging-various-x-headers) の変種であり、究極的にはユーザー定義データに基づいてキャッシュ可能なオリジンのレスポンスを作成することによるものです。この問題は、攻撃者が HTTPS リクエストを送信し、Host ヘッダー内で実際にどのサービスにも使用されていないポート番号を指定した場合に発生します。これにより、後続のリクエストが適切に処理されない方法でリソースをキャッシュすることが可能になります。


ご利用のサービスが次の条件の両方を満たしているお客様は、この脆弱性が該当します。




  • オリジンが完全な X-Forwarded-Host ヘッダー情報 (ポート番号を含む) を使用してクライアントへのリダイレクトレスポンスを作成している。




  • Fastly のサービスがオリジンのリダイレクトレスポンスをキャッシュするように設定されている。




概要


Fastly は2020年5月21日午後1:30 UTC にこの問題の通知を受けました。直ちに調査を開始し、脆弱性と可能な解決策を把握するため、どのオリジンサーバーがリダイレクトレスポンスでテストポート番号を返したかを特定しました。2020年7月15日午前4:30 UTC、はじめに Fastly は、影響を受ける可能性のあるお客様に事態を通知しました。


影響


脆弱性が悪用された場合、影響を受けるサービスは対象のコンテンツをクライアントに提供できません。
例えば、Fastly を前面に配置したサービスに対して、攻撃者が Host ヘッダーに閉じたポートを含んだリクエストを作成したとします。


__攻撃者のリクエスト : __


GET / HTTP/1.1
Host: www.example.com:10000

__Fastly からオリジンへのリクエスト : __


GET / HTTP/1.1
Host: www.example.com
X-Forwarded-Host: www.example.com:10000

__ オリジン + Fastly のリダイレクトレスポンス : __


HTTP/1.1 302 Found
Location: https://www.example.com:10000/en
X-Cache: MISS, MISS

Fastly がレスポンスをキャッシュすると、キャッシュされたリソースに対する後続の有効なリクエストが閉じたポートにリダイレクトされ、タイムアウトになります。


__ 攻撃対象のリクエスト + レスポンス : __


GET / HTTP/1.1
Host: www.example.com

HTTP/1.1 302 Found
Location: https://www.example.com:10000/en
X-Cache: MISS, HIT

対策


8月4日、Fastly は、リクエストの Host ヘッダーにリクエストを受信したものではないポート番号が指定されている場合、421 "Misdirected Request" の状態コードを返す修正を Varnish で実装しました。
詳細
[1] 概要 : https://www.blackhat.com/us-20/briefings/schedule/index.html#web-cache-entanglement-novel-pathways-to-poisoning-19712

[2] ホワイトペーパー : https://portswigger.net/research/web-cache-entanglement-novel-pathways-to-poisoning


イベントの経過


2020年5月21日午後1:30 UTC - 外部のセキュリティ研究者からの通知を受け、Fastly のセキュリティチームが直ちに調査を開始しました。
2020年6月5日 – Fastly は、この動作を示すリクエストからお客様のオリジンを保護する解決策を判断するため、影響範囲の特定作業を開始しました。
2020年6月18日 - 内部調査を完了し、影響を受ける可能性があると特定されたお客様に対する対策と推奨事項の評価を開始しました。


2020年7月15日午前4:30 UTC - この問題の影響を受ける可能性があると特定されたお客様にご連絡しました。


2020年7月16日 - 2020年7月31日 - この脆弱性の特徴を示すリクエストの追加テストを展開し、ログ記録を強化しました。


2020年8月3日午前8:00 - 2020年8月4日午後11:00 UTC - 今後すべてのお客様のオリジンを保護するために、Fastly ネットワークに脆弱性の修正プログラムを適用しました。


問い合わせ


その他にご質問がある場合は、support@fastly.com より Fastly カスタマーエンジニアリング、または security@fastly.com より Fastly セキュリティチームにお問い合わせください。

セキュリティアドバイザリーの購読お申し込み

ご入力いただいた情報は米国 Fastly に送信され、当社のプライバシーポリシーに従って処理されます。内容をご確認いただき、同意の上「購読を申し込む」をクリックしてください。

Fastly試してみませんか ?

アカウントを作成してすぐにご利用いただけます。また、いつでもお気軽にお問い合わせください。