======================================================================== JVN#79314822 修正プログラム 独立行政法人 情報処理推進機構 (IPA) セキュリティセンター http://www.ipa.go.jp/security/ ======================================================================== ■ この修正プログラムについて この修正プログラムは、「JVN#79314822: Tomcat におけるリクエスト処理に 関する脆弱性」(*1) を解消するものです。「Apache Tomcat」(以下「Tomcat」) 4.1.31 の AJP 1.3 Connector (org.apache.ajp.tomcat4.Ajp13Connector) の 問題を修正しています。この修正プログラムには、「Tomcat」 4.1.31 のソー スコードに対するパッチと、パッチを適用済みのバイナリファイルが含まれて います。 The Apache Software Foundation は、現在 AJP 1.3 Connector をサポートし ていません。そのため、AJP 1.3 Connector 以外のコネクタに切り替えて脆弱 性に対処することが推奨されています。しかし、構成変更等の対処が早急にで きない場合に、この修正プログラムを適用することで、問題を解消できます。 (*1) JVN#79314822: Tomcat におけるリクエスト処理に関する脆弱性 http://jvn.jp/jp/JVN%2379314822/index.html http://www.ipa.go.jp/security/vuln/documents/2005/JVN_79314822_Tomcat.html ■ 内容物 この修正プログラムには、下記のファイルが含まれています。 ------------------------------------------------------------------ README このファイルです LICENSE Apache License Version 2.0 です NOTICE Apache License Version 2.0 に基づく通知です source/tomcat-connectors-4.1.31-ajp13-ipa.patch 「Tomcat」4.1.31 のソースコードに対するパッチです binary/tomcat-jk.jar 修正済みのバイナリファイルです ------------------------------------------------------------------ ■ 適用方法 ● ソースコードにパッチを適用する方法 パッチを「Tomcat」4.1.31 のソースコードに適用するには、同梱した source/tomcat-connectors-4.1.31-ajp13-ipa.patch を使います。 例: ------------------------------------------------------------------ cd jakarta-tomcat-connectors-4.1.31-src patch -p1 < /path/to/patch/tomcat-connectors-4.1.31-ajp13-ipa.patch ------------------------------------------------------------------ ● バイナリファイルを置き換える方法 同梱した binary/tomcat-jk.jar を $TOMCAT_HOME/server/lib/tomcat-jk.jar と置き換え、「Tomcat」を再起動 します。このとき、必要に応じて元の tomcat-jk.jar をバックアップして おきます。 ■ 動作確認結果 この修正プログラムに関して、IPA では脆弱性が解消されていることと他の問 題が生じないことを確認しました。その際、複数の企業に確認の協力をいただ きました。 ● 本脆弱性の解消に関する確認 下記の検証を行い、本脆弱性が解消できていることを確認しました。 * パッチ適用後に、報告者から報告された方法で検証したところ、本脆弱性 は確認されなかった。 * 複数の企業から、本脆弱性は解消されているとの報告を受けた。 ● 他の問題が生じないことに関する確認 下記の検証を行い、通常の使用において他の問題が生じないことを確認しま した。ただし、不正なリクエストを受けた場合には、例外が発生することが あります。 * コンパイル時に ant test によるテストを行った結果、テストに成功した。 * 「Tomcat」のソースコードに含まれる tester によるテストを行った結果、 パッチ適用前と適用後で、テスト結果に変化はなかった(成功していた部 分は成功し、失敗していた部分は同じように失敗した)。 * 複数の企業から、問題なく稼動しているとの報告を受けた。 ● 動作速度に関する確認 パッチ適用前と適用後に、入力された内容を表示するサーブレットに対し、 ab (Apache HTTP server benchmarking tool) を用いて HTTP リクエストを 100 回行い、処理時間を計測しました。その結果、動作速度に顕著な差は生 じませんでした。 パッチ適用前: ------------------------------------------------------------------ Connnection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.0 0 0 Processing: 1 39 3.7 39 43 Waiting: 1 39 3.7 39 42 Total: 1 39 3.7 39 43 ------------------------------------------------------------------ パッチ適用後: ------------------------------------------------------------------ Connnection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.0 0 0 Processing: 1 39 3.7 39 41 Waiting: 1 39 3.7 39 41 Total: 1 39 3.7 39 41 ------------------------------------------------------------------ ■ 開発・動作確認環境 この修正プログラムは、下記の環境で開発し、動作を確認しました。 ------------------------------------------------------------------ Red Hat Enterprise Linux ES release 2.1 (Panama) Apache/1.3.33 (Unix) mod_jk/1.2.14 Java 1.4.2_04-b04 Apache Ant 1.6.5 ------------------------------------------------------------------ また、バイナリファイルの作成にあたり、下記のライブラリを使用しました。 ------------------------------------------------------------------ Jasper 2 JSP Engine Commons BeanUtils 1.7.0 Commons Collections 2.1.1 Commons Digester 1.7 Commons FileUpload 1.0 Commons Logging 1.0.4 JNDI 1.2.1 Commons Modeler 1.1 Jakarta Regexp 1.4 Servlet API Xerces2 Java Parser 2.7.1 Commons Daemon 1.0.1 Commons DBCP 1.2.1 Commons Pool 1.2 JDBC Optional Pacakge API package 2.0 MX4J 2.1.1 JUnit 3.8.1 ------------------------------------------------------------------ ■ 著作権・免責 この修正プログラムは、独立行政法人 情報処理推進機構 (IPA) セキュリティ センターが作成しました。IPA はこの修正プログラムの品質に対して最大限の 注意を払っていますが、他の問題が発生しないことは保証いたしません。この 修正プログラムを使用することにより発生したいかなる損害に対しても、IPA は一切の責任を負いません。また、本脆弱性以外の脆弱性には対応していませ ん。 ライセンスは Apache License Version 2.0 に従います。詳細については、以 下の URL をご覧ください。 http://www.apache.org/licenses/LICENSE-2.0