Show page source of StrutsPatch2-JP #101938

= Apache Struts 1.2.9 with SP2 by TERASOLUNA =
== はじめに ==
TERASOLUNA フレームワークが利用しているApache Struts 1.2.9 sp1に対して、Apache Struts1の脆弱性を修正したバージョンをApache Struts 1.2.9 with Security Patch 2 contributed by TERASOLUNA(以下、Struts 1.2.9 sp2)としてApache License, Version 2.0で提供します。

 * [http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0899 CVE-2015-0899]
   * TERASOLUNAフレームワークが利用している Apache Struts 1.1~1.2.9-sp1および1.3.xには、!MultiPageValidator機能(以下、MPV機能)で利用するリクエストパラメータ「page」の値が改竄されることにより、入力チェックが不正にスキップされてしまう脆弱性が存在します。

=== Struts 1.2.9 sp2 ===
Struts 1.2.9 sp2では、Struts 1.2.9 sp1に対して下記の修正を加えています。

 * 修正内容
  * Struts定義ファイル(struts-config.xml)に設定項目'''acceptPage'''を追加しました。
   * acceptPageの設定を行わない場合は、リクエストパラメータ「page」の値に関係なく入力チェックを実施します。
   * acceptPageの設定を行った場合は、その値とリクエストパラメータ「page」を比較し、大きい方の値に従って入力チェックを行います。
  * 詳細については、[http://sourceforge.jp/projects/terasoluna/downloads/63023/terasoluna-server4jweb-doc_2.0.5.3.zip/ TERASOLUNA Server Framework for Java(Web版) 機能説明書.pdf]  P218 「WF-01 拡張入力チェック機能 - !MultiPage-Validate(以下、MPV)機能の使用について」をご確認ください。
 * 修正箇所
   *  [http://sourceforge.jp/projects/terasoluna/downloads/63025/struts-1.2.9-sp2-diff.zip/ Source Code Diff (struts-1.2.9-sp2-diff.zip)]

== Struts 1.2.9 sp1 から Struts 1.2.9 sp2 への更新 ==
既に導入済みのStrutsのjarファイル「struts.jar」を、本パッチで提供している「struts.jar」に置き換えてください。置き換える必要があるのはStrutsのjarファイルのみとなります。Strutsが依存しているライブラリの変更はありません。

== ソースコードからのビルド手順 ==
本パッチが提供するstruts-1.2.9-sp2のソースをビルドして、struts.jarを作成する手順を示します。

 1. JDK1.3.1_04のインストール[[BR]]
 2. apache-ant-1.6.1のインストールとライブラリの追加[[BR]] apache-ant-1.6.1を配置し、antのlibディレクトリ配下に以下のライブラリを追加する。
   * commons-logging-1.0.4.jar
   * junit-3.8.1.jar
   * xalan-2.5.1.jar
 3. struts-1.2.9-sp2のソースコードの配置[[BR]] ソースコードのzipを展開して任意のディレクトリに配置し、ビルド用にstruts-1.2.9-sp2-srcフォルダの直下にlibフォルダを作成する。
 4. ビルドに必要となるjarファイルの配置[[BR]] 以下のjarファイルを任意のディレクトリに配置する。
   * antlr-2.7.2.jar
   * checkstyle-2.4.jar
   * commons-beanutils-1.7.0.jar
   * commons-digester-1.6.jar
   * commons-fileupload-1.0.jar
   * commons-logging-1.0.4.jar
   * commons-validator-1.1.4.jar
   * junit-3.8.1.jar
   * log4j-1.2.14.jar
   * servletapi-2.3.jar
   * xerces-1.4.4.jar
   * oro-2.0.7.jar
   * jakarta-taglibs-standard-1.0
     * jstl.jar
     * standard.jar
   * jakarta-tomcat-4.0.6
     * jdbc2_0-stdext.jar
 5. ビルド用の設定ファイルの作成[[BR]] build.properties.sampleをbuild.propertiesにリネームし、内部に記述されているパスを自環境に合わせ修正する。
 6. ビルド用の環境変数の設定[[br]] 以下の環境変数を自環境に合わせて設定する。
   * JAVA_HOME
   * ANT_HOME
 7. antを実行してビルド

== ダウンロード ==
 * [http://sourceforge.jp/projects/terasoluna/downloads/63025/struts.jar/ Binary File (struts.jar)]
 * [http://sourceforge.jp/projects/terasoluna/downloads/63025/struts-1.2.9-sp2-src.zip/ Source Code (struts-1.2.9-sp2-src.zip)]
 * [http://sourceforge.jp/projects/terasoluna/downloads/63025/struts-1.2.9-sp2-diff.zip/ Source Code Diff (struts-1.2.9-sp2-diff.zip)]

== 参照 ==
[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0899 CVE - CVE-2015-0899]

[http://jvndb.jvn.jp/jvndb/JVNDB-2015-000042 JVNDB-2015-000042 - JVN iPedia - 脆弱性対策情報データベース]
== 免責条項 ==
適用される法律または書面での同意によって命じられない限り、Struts 1.2.9 sp2はApache License, Version 2.0に基づいて頒布され、明示黙示を問わず、いかなる保証も条件もなしに「現状のまま」頒布されます。Apache License, Version 2.0における権利と制限を規定した文言については、Apache License, Version 2.0の本文を参照してください。

  * Apache License, Version 2.0[[br]]http://www.apache.org/licenses/LICENSE-2.0

※ 「TERASOLUNA」は、日本及びその他の国における株式会社NTTデータの商標または登録商標です。[[br]]
※ その他、記載されている会社名、商品名、又はサービス名は、各社の登録商標又は商標です。