WebOTX Webサーバ1.3,2.0,2.2,2.4、およびWebOTXのWebコンテナ機能には以下の脆弱性が存在します。
- CGI または類似のコンテキストで動作しているWebサーバには、クライアントが指定したヘッダ Proxy の値を内部の環境変数 HTTP_PROXY に登録してしまう
WebOTXは本脆弱性に該当するWebサーバ、およびWebコンテナ機能が同梱されています。
■CVE-2016-5387,CVE-2016-5388の脆弱性の影響
本脆弱性を悪用された場合、中間者攻撃(man-in-the-middle attack)が行われたり、不正なホストに接続させられたりすなどの
可能性があります。
■脆弱性に該当する条件
(1)、(2)のいずれか、または両方に合致する場合、本脆弱性の影響を受ける可能性があります。
(1) 以下の条件すべてに合致する場合
- WebOTX Webサーバ1.3、2.0、2.2、2.4を使用している
- WebOTX Webサーバ上で動作するCGIアプリケーションにおいて、Webサーバの環境変数HTTP_PROXYを参照し、後続の処理に利用している場合
(2) 以下の条件に合致する場合
- Webコンテナが提供するCGIServlet使用し実行したCGIアプリケーションが環境変数HTTP_PROXYを参照し、後続の処理に利用している場合
■WebOTX Webサーバ2.2/2.4を使用している場合
今後、本脆弱性を修正したパッチをリリースします。
■WebOTX Webサーバ1.3/2.0を使用している場合
パッチのリリース予定はないため、回避方法を実施してください。
■Webコンテナが提供するCGIServletを使用している場合
パッチのリリースの予定はないため、回避方法を実施してください。
■WebOTX Webサーバを利用している場合(全バージョン共通)
- ファイアウォールなどを用いて WebサーバからのHTTPアウトバウンド通信を必要最小限に制限する
■WebOTX Webサーバ2.0/2.2/2.4を使用している場合
設定方法は、WebOTXのバージョンによって異なります。
● WebOTX V6.5~V9.4
----------------------------------------
1. Webサーバの設定ファイル
<WebOTXインストールディレクトリ>/domains/<ドメイン名>/config/WebServer/httpd.conf
にて、次の定義を行います。
1-1. コメントアウトを解除(先頭の#を削除)します。
#LoadModule headers_module <WebOTXインストールディレクトリ>/WebServer*/modules/mod_headers.so
↓
LoadModule headers_module <WebOTXインストールディレクトリ>/WebServer*/modules/mod_headers.so
※ "WebServer*"は、Webサーバのバージョン毎に異なり、それぞれ、
次のようになります。
Webサーバ 2.0: WebServer2
Webサーバ 2.2: WebServer22
Webサーバ 2.4: WebServer24
1-2. Proxy ヘッダを無効にするための定義を追加します。
RequestHeader unset Proxy
2. Webサーバを再起動します。
otxadmin> login --user admin --password **** --port 6212
otxadmin> invoke server.WebServer.stop
otxadmin> invoke server.WebServer.start
----------------------------------------
● WebOTX V6.1~V6.4
----------------------------------------
1. Webサーバの設定ファイル
<WebOTXインストールディレクトリ>/domains/<ドメイン名>/config/WebServer/httpd.conf
にて、次の定義を追加します。
LoadModule headers_module {path-to}/mod_headers.so
RequestHeader unset Proxy
※ mod_headers.so は、当該バージョンのWebOTX Webサーバには
バンドルしておりません。Apache.orgのサイト等から、別途
入手する必要があります。
※ "{path-to}"には、mod_headers.soが存在するディレクトリを
指定してください。
2. Webサーバを再起動します。
otxadmin> login --user admin --password **** --port 6212
otxadmin> invoke server.WebServer.stop
otxadmin> invoke server.WebServer.start
----------------------------------------
■CGIServletを使用している場合
WebOTXは、全バージョンでデフォルト設定ではCGIServlet機能は無効になっています。
利用しているかどうかは以下のファイルを確認してください。
- V5.1~V5.3
{Webコンテナインストールディレクトリ}/conf/web.xml
- V6.1~V9.4
{ドメインインストールディレクトリ}/config/default-web.xml
以下の定義が有効になっている場合、CGIServletが有効となっています。
<servle>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
・・・・・
<servlet>
CGIServletを利用したアプリケーションが"proxy"ヘッダを使用している場合、
Servletのフィルタ機能を利用して“proxy”ヘッダを使用しないようにするか、
チェックする機能を実装してください。
フィルタ機能については以下を参照してください。