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

CGIよる HTTP_PROXY 使用時の脆弱性

2016年7月18日

概要


2016年7月18日 (月)、特定の Common Gateway Interface (CGI) スクリプトによる HTTP_PROXY 環境変数の処理における脆弱性について、セキュリティ研究者らが情報を発表しました。この脆弱性が Fastly に影響を及ぼすことはありませんが、オリジンとして使用されている Web サーバーはさまざまなスクリプトを実行するため、その一部に脆弱性が存在する可能性があります。このセキュリティアドバイザリーでは、オリジンサーバーを攻撃から保護するためのガイダンスをお客様に提供します。




影響


脆弱な CGI スクリプトが原因で、お客様のオリジンサーバーからのアウトバウンド HTTP リクエストが中間者攻撃にさらされる可能性があります。スクリプトとその関数によっては、この種の攻撃で Web サイトの機密情報が公開される可能性があります。




解決方法と回避策


7月18日 (月) に、複数のサードパーティベンダーがこの脆弱性に対応するセキュリティアップデートをリリースしました。アップデートのテストおよびデプロイを実施する間にこの脆弱性を軽減する方法として、Fastly のお客様はプロキシヘッダーを CDN レベルで削除できます。これによって、オリジンサーバーの悪用を防ぐことができます。


Fastly のお客様は、以下のヘッダーオブジェクトを設定に追加することで、インバウンドリクエストからプロキシヘッダーを削除できます。


HTTP プロキシ


ヘッダーオブジェクトを追加する方法については、こちらのリンクをご確認ください : https://docs.fastly.com/jp/guides/adding-or-modifying-headers-on-http-requests-and-responses


また、Fastly のお客様は、次の行を vcl_recv sub に追加することで、カスタム VCL を使用してインバウンドリクエストからプロキシヘッダーを削除できます。


unset req.http.Proxy;

あまり一般的ではない実装においては、Proxy で始まる追加のヘッダー (Proxy_Host、Proxy_Port、Proxy_Password、Proxy_User、Proxy_Pass など) も誤って処理される場合があります。上記のいずれかの方法によって、このようなヘッダーも Fastly で削除できます。




詳細


Common Gateway Interface (CGI) の実装による解析によって、HTTP_PROXY 環境変数と Proxy: ヘッダー間で名前空間の競合が生じることがセキュリティ研究者によって特定されました。この名前空間の競合により、攻撃者は悪意のある Proxy: HTTP ヘッダーを送信することで Web サーバーの HTTP_PROXY 環境変数をリモートから設定できます。


これにより、HTTP_PROXY 環境変数を信頼する HTTP クライアントを使用している Web サーバーが悪意を持って設定された値をアウトバウンド Web リクエストに使用し、機密データが公開される可能性があります。


この脆弱性が Fastly に影響を及ぼすことはありませんが、オリジンとして使用する Web サーバーはさまざまなスクリプトを実行するため、その一部に脆弱性が存在する可能性があります。Fastly のお客様は、VCL を使用して CDN レベルで HTTP Proxy: ヘッダーをフィルタリングすることで、この脆弱性を軽減できます。




詳細情報


この脆弱性の詳細および CVE識別子のリストについては、こちら参照してください。

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

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

Fastly試してみませんか ?

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