2016年7月18日
2016年7月18日 (月)、特定の Common Gateway Interface (CGI) スクリプトによる HTTP_PROXY 環境変数の処理における脆弱性について、セキュリティ研究者らが情報を発表しました。この脆弱性が Fastly に影響を及ぼすことはありませんが、オリジンとして使用されている Web サーバーはさまざまなスクリプトを実行するため、その一部に脆弱性が存在する可能性があります。このセキュリティアドバイザリーでは、オリジンサーバーを攻撃から保護するためのガイダンスをお客様に提供します。
脆弱な CGI スクリプトが原因で、お客様のオリジンサーバーからのアウトバウンド HTTP リクエストが中間者攻撃にさらされる可能性があります。スクリプトとその関数によっては、この種の攻撃で Web サイトの機密情報が公開される可能性があります。
7月18日 (月) に、複数のサードパーティベンダーがこの脆弱性に対応するセキュリティアップデートをリリースしました。アップデートのテストおよびデプロイを実施する間にこの脆弱性を軽減する方法として、Fastly のお客様はプロキシヘッダーを CDN レベルで削除できます。これによって、オリジンサーバーの悪用を防ぐことができます。
Fastly のお客様は、以下のヘッダーオブジェクトを設定に追加することで、インバウンドリクエストからプロキシヘッダーを削除できます。
ヘッダーオブジェクトを追加する方法については、こちらのリンクをご確認ください : 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: ヘッダーをフィルタリングすることで、この脆弱性を軽減できます。