HOME情報セキュリティ更新:Apache Struts2 の脆弱性対策について(CVE-2014-0094)(CVE-2014-0112)(CVE-2014-0113)

本文を印刷する

情報セキュリティ

更新:Apache Struts2 の脆弱性対策について(CVE-2014-0094)(CVE-2014-0112)(CVE-2014-0113)

最終更新日:2014年7月15日

~Apache Struts 1 に存在する類似の脆弱性への対策も実施ください~

※追記すべき情報がある場合には、その都度このページを更新する予定です。

概要

Apache Software Foundation が提供する Apache Struts は、Java のウェブアプリケーションを作成するためのソフトウェアフレームワークです。
Apache Struts 2 には、ClassLoader を操作される脆弱性(CVE-2014-0094 および CVE-2014-0112、CVE-2014-0113)が存在します。

本脆弱性が悪用された場合は、ウェブアプリケーションの動作権限内で情報の窃取や特定ファイルの操作、およびウェブアプリケーションを一時的に使用不可にされてしまいます。さらに、攻撃者が操作したファイルに Java コードが含まれている場合、任意のコードが実行される可能性があることがわかっています。

本脆弱性を狙ったリクエストが確認されていますので、これらの脆弱性が対策されているバージョンへのアップデートや回避策を至急実施してください。

---2014年6月17日追加---

Apache Struts 1 にも、ClassLoader を操作される脆弱性(CVE-2014-0114)が存在します。Apache Struts 1 は開発者のサポートが終了しているため、公式の修正プログラムは提供されていません。別のソフトウェアフレームワークへの移行を検討ください。早急な移行が難しい場合は、サードパーティが独自に提供している修正プログラムの適用を検討ください。

---2014年6月17日追加---

脆弱性を悪用した攻撃のイメージ
図:脆弱性を悪用した攻撃のイメージ

経緯

2014年3月5日 Apache Software Foundationが、CVE-2014-0094 の脆弱性の対策をした Apache Struts 2.3.16.1 を公開
2014年4月16日 NTT-CERT から IPA に、CVE-2014-0094 の脆弱性を攻撃するコードが公開されているという情報提供あり
2014年4月17日 IPA が、CVE-2014-0094 の脆弱性について注意を喚起(本ページを公開)
2014年4月18日 NTT-CERT から IPA に、CVE-2014-0094 の脆弱性について、Apache Struts 2.3.16.1 に対策漏れがあるという届出あり
JPCERT/CC 経由で Apache Software Foundation へ情報通知
2014年4月22日 セキュリティベンダから、Apache Struts 2.3.16.1 に対策漏れ(CVE-2014-0112 の脆弱性)があるという注意喚起あり
2014年4月24日
(日本時間)
セキュリティベンダから、Apache Struts 1 系にも類似の脆弱性が存在するという注意喚起あり
IPA が、セキュリティベンダの情報をもとに本ページを更新(1回目)
2014年4月24日
(米国時間)
Apache Software Foundation から、Apache Struts の設定による回避策および近日中に対応する旨のアナウンスあり
2014年4月25日 JPCERT/CC、IPA が共同で運用する JVN にて、脆弱性対策情報(回避策)を公開
IPAが、公表されている情報をもとに本ページを更新(2回目)
Apache Software Foundation から、CVE-2014-0112 および CVE-2014-0113 の脆弱性の対策をした、Apache Struts 2.3.16.2 を公開(*1)
2014年4月27日 警察庁が、Apache Struts 2 の脆弱性を狙ったリクエストを検知した旨の情報を公開
2014年4月28日 IPAが、公表されている情報をもとに本ページを更新(3回目)
2014年6月17日 JPCERT/CC、IPA が共同で運用する JVN にて、Apache Struts 1 に起因する TERASOLUNA Server Framework for Java(Web) の脆弱性について対策情報を公表
IPAが、公表されている情報をもとに本ページを更新(4回目)
2014年7月15日 JPCERT/CC、IPA が共同で運用する JVN にて、Apache Struts 1 に起因する S2Struts の脆弱性について対策情報を公表
IPAが、公表されている情報をもとに本ページを更新(5回目)

影響を受けるバージョン

  • Apache Struts 2.0.0 から 2.3.16.1
  • Apache Struts 1 系

セキュリティベンダから Apache Struts 1 系にも類似の脆弱性が存在するという注意喚起が出ています。

Apache Struts 2 系のバージョンの確認方法例

Apache Struts 2 を利用しているウェブアプリケーションの /WEB-INF/lib ディレクトリを開き、その中の struts2-core-2.x.x.x.jar ファイルの名称を確認してください。
2.x.x.x の部分が、利用している Struts 2 のバージョンです。

対策

Apache Struts 2 系

脆弱性の解消 - アップデート

開発者が提供する情報をもとに、最新バージョンにアップデートしてください。

Download a Release of Apache Struts
http://struts.apache.org/download.cgi

脆弱性の回避策 - Apache Struts の設定変更

Apache Struts のアップデートが困難な場合、Apache Software Foundation が提供する情報をもとに、以下の回避策を適用してください。

  • params インターセプターへの参照を独自に記述している場合、excludeParams を適切に設定する
  • defaultStack を使用している場合、 excludeParams を適切に設定したスタックを使用するよう変更する
Announcements
http://struts.apache.org/announce.html

Apache Struts 1 系

脆弱性の解消 - アップデート

サードバーティが提供する情報をもとに、アップデートを検討ください。

Red Hat Customer Portal
https://rhn.redhat.com/errata/RHSA-2014-0474.html
Apache Struts 1.2.9 with SP1 by TERASOLUNA
http://sourceforge.jp/projects/terasoluna/wiki/StrutsPatch1-JP

脆弱性の回避策 - 別のソフトウェアフレームワークへ移行

Apache Struts 1 は開発者のサポートが終了しています。サードパーティによるサポートも難しい場合は、別のソフトウェアフレームワークへの移行を検討してください。

Apache Struts 1 系、2 系共通

脆弱性の回避策 - WAF や IPS の利用

本脆弱性に対応したシグネチャを搭載した WAF や IPS 等のネットワーク機器で攻撃リクエストを遮断できる可能性があります。攻撃リクエストの遮断可否については、利用している機器のベンダへお問合せください。

参考情報

脚注

(*1) 公開日は、http://struts.apache.org/ の "Apache Struts 2.3.16.2 GA has been released on 25 april 2014." の記述から判断

本件に関するお問い合わせ先

IPA 技術本部 セキュリティセンター

E-mail:

更新履歴

2014年7月15日 経緯の更新
2014年6月17日 概要、経緯、対策の更新
2014年4月28日 概要、経緯、対策の更新
2014年4月25日 概要、対策の更新および、経緯の追記
2014年4月24日 概要、影響を受けるバージョン、対策の更新
2014年4月17日 掲載