TERASOLUNA フレームワークが利用しているApache Struts 1.2.9に対して、Apache Struts1の脆弱性(CVE-2014-0114)を修正したバージョンをApache Struts 1.2.9 with Security Patch 1 contributed by TERASOLUNA(以下、Struts 1.2.9 sp1)としてApache License, Version 2.0で提供します。
Struts 1.2.9 sp1では、Struts 1.2.9に対して下記の修正を加えています。
Struts 1の内部動作上、「class」の先頭の大文字・小文字は区別されます。そのため、先頭の「c」が大文字の場合、今回の脆弱性をついた攻撃は成功しません。本パッチでは必要最小限のチェックを行うというポリシーの元、現状のチェックルールとしています。
本パッチを適用すると、DynaActionFormに「class」という名前のプロパティ(型はJavaBean)を定義した際に、そのJavaBeanのプロパティに対して、リクエストパラメータから値を設定することができなくなります。
既に導入済みのStrutsのjarファイル「struts.jar」を、本パッチで提供している「struts.jar」に置き換えてください。置き換える必要があるのはStrutsのjarファイルのみとなります。Strutsが依存しているライブラリの変更はありません。
本パッチが提供するstruts-1.2.9-sp1のソースをビルドして、struts.jarを作成する手順を示します。
JVNDB-2014-002308 - JVN iPedia - 脆弱性対策情報データベース
Apache Struts2 の脆弱性対策について(CVE-2014-0094)(CVE-2014-0112)(CVE-2014-0113):IPA 独立行政法人 情報処理推進機構
適用される法律または書面での同意によって命じられない限り、Struts 1.2.9 sp1はApache License, Version 2.0に基づいて頒布され、明示黙示を問わず、いかなる保証も条件もなしに「現状のまま」頒布されます。Apache License, Version 2.0における権利と制限を規定した文言については、Apache License, Version 2.0の本文を参照してください。
※ 「TERASOLUNA」は、日本及びその他の国における株式会社NTTデータの商標または登録商標です。
※ その他、記載されている会社名、商品名、又はサービス名は、各社の登録商標又は商標です。