(JVN#19294237, JVNDB-2014-000045, JVNDB-2014-001603, CVE-2014-0094, CVE-2014-0112, CVE-2014-0113, CVE-2014-0114, CVE-2014-0116)
更新日:2015年01月13日
1. 概要
Apache Struts には、複数の脆弱性 (CVE-2014-0094, CVE-2014-0112, CVE-2014-0113) が存在します。
2014年3月2日
Apache Struts のバージョン 2.0.0 から 2.3.16 には、ClassLoader の操作を許してしまう脆弱性 (CVE-2014-0094) が存在することから、対策版である Apache Struts 2.3.16.1 がリリースされました。
2014年4月17日
公開されている脆弱性 (CVE-2014-0094) の検証コードを IPA で再現検証を実施した結果、Web アプリケーションの動作権限内で情報の窃取や特定ファイルの操作が可能であること、攻撃者が操作したファイルに Java コードが含まれている場合には、任意のコード実行を許してしまう可能性があることが報告されました。
2014年4月18日
Apache Struts 2.3.16.1 の脆弱性 (CVE-2014-0094) 対策のための修正が不十分であることが確認されました。
2014年4月24日 (日本時間)
2013年上半期にサポートが終了した Apache Struts 1.x にも、脆弱性 (CVE-2014-0094) が存在することが明らかとなりました。
2014年4月24日 (米国時間)
Apache Struts から、セキュリティアドバイザリ S2-021 が発行されました。 脆弱性対策の修正漏れに対して、新たな脆弱性識別子 (CVE-2014-0112) が割り当てられました。 また、CookieInterceptor を利用して、ClassLoader の操作を許してしまう脆弱性 (CVE-2014-0113) の存在が明らかとなりました。
2014年4月25日 (米国時間)
Apache Struts から、脆弱性 (CVE-2014-0094, CVE-2014-0112, CVE-2014-0113) の対策版である Apache Struts 2.3.16.2 がリリースされました。
2014年4月29日 (米国時間)
Apache Struts において、Apache Struts 1.x にも ClassLoader の操作を許してしまう脆弱性の存在が確認され、新たな脆弱性識別番号 (CVE-2014-0114) が割り当てられました。
2014年5月3日 (米国時間)
Apache Struts から、セキュリティアドバイザリ S2-022 が発行されました。
脆弱性 (CVE-2014-0113) の修正不足に対して、CVE-2014-0116 が割り当てられました。
脆弱性 (CVE-2014-0094, CVE-2014-0112, CVE-2014-0113, CVE-2014-0116) の対策版である Apache Struts 2.3.16.3 がリリースされました。
CVSSによる深刻度
基本値:7.5
攻撃元区分:ネットワーク
攻撃条件の複雑さ:低
攻撃前の認証要否:不要
機密性への影響(C):部分的
完全性への影響(I):部分的
可用性への影響(A):部分的
現状値:6.5 (2014年4月27日時点)
攻撃される可能性:容易に攻撃可能
利用可能な対策のレベル:正式対策
脆弱性情報の信頼性:開発者が情報を確認済
2. 影響を受けるシステム
+ Apache Struts 2.0.0 から 2.3.16.2
+ Apache Struts 1.x
+ コンポーネントとして Apache Struts を使用している日立製品
3. 想定される影響
Apache Struts の実装に起因する任意のコード実行、サービス運用妨害や情報漏えいを許してしまう脆弱性です。 条件によっては、Apache Struts 上で稼動するアプリケーションが不正な HTTP 要求を受信した場合、任意の Java コードが実行され、結果として、任意の OS コマンドや不正なプログラム実行を許してしまう可能性があります。
4. 対策
コンポーネントとして Apache Struts を使用している日立製品
(対策) バージョンアップあるいは、対策版を適用する。
「5. 製品対応状況」を確認し、各製品から発信されている注意事項に沿って、対処してください。
Apache Struts
(対策) バージョンアップあるいは、対策版を適用する。<Struts 2.x>
2014年5月3日(米国時間) Apache Struts 2.3.16.3 がリリースされました。
(回避策) 不正な文字列の含むパラメタのリクエストを拒否するフィルタ機能を実装する。<Struts 1.x Struts 2.x>
該当する文字列がパラメタとして指定された場合、これを拒否するフィルタ機能を実装することで影響を緩和できます。
Apache Struts
Version Notes 2.3.16.3
Version Notes 2.3.3 - Apache Struts 2 Wiki - Apache Software Foundation
日本シーサート協議会
Struts: ClassLoader の操作を許してしまう脆弱性 (CVE-2014-0094, CVE-2014-0112, CVE-2014-0113) について
http://www.nca.gr.jp/2014/struts_s20/index.html
5. 製品対応状況
日立製品ならびに、日立が提供する他社品(*印)の対応状況は、次の通りです。
2014年12月5日発行
+ Hitachi Essential NAS Platform
+ Hitachi Virtual File Platform
+ Hitachi Data Ingestor
日立仮想ファイルプラットフォーム製品における Apache Struts脆弱性(CVE-2014-0114)について
2014年4月25日発行
+ JP1
+ Hitachi Command Suite
+ uCosminexus
+ HiRDB
HWS14-005: Apache Struts1/Struts2の脆弱性(CVE-2014-0094)(CVE-2014-0112)による影響について
6. 関連情報
6.1 脆弱性識別
Apache Struts に存在する複数の脆弱性には、次の脆弱性識別番号が付与されています。
CVE-2014-0094 (ParametersInterceptor から ClassLoader の操作を許してしまう脆弱性)
https://www.cve.org/CVERecord?id=CVE-2014-0094
JVNDB-2014-001603
https://jvndb.jvn.jp/ja/contents/2014/JVNDB-2014-001603.html
JVNDB-2014-000045
https://jvndb.jvn.jp/ja/contents/2014/JVNDB-2014-000045.html
JVN#19294237
https://jvn.jp/jp/JVN19294237/index.html
CVE-2014-0112 (CVE-2014-0094 の修正漏れによる脆弱性)
https://www.cve.org/CVERecord?id=CVE-2014-0112
JVNDB-2014-000045
https://jvndb.jvn.jp/ja/contents/2014/JVNDB-2014-000045.html
JVN#19294237
https://jvn.jp/jp/JVN19294237/index.html
CVE-2014-0113 (CookieInterceptor から ClassLoader の操作を許してしまう脆弱性)
https://www.cve.org/CVERecord?id=CVE-2014-0113
CVE-2014-0114 (Apache Struts 1.x における ClassLoader の操作を許してしまう脆弱性)
https://www.cve.org/CVERecord?id=CVE-2014-0114
JVNDB-2014-002308
https://jvndb.jvn.jp/ja/contents/2014/JVNDB-2014-002308.html
CVE-2014-0116 (CVE-2014-0113 の修正不足による脆弱性)
6.2 注意喚起
IPA
更新:Apache Struts2 の脆弱性対策について(CVE-2014-0094)(CVE-2014-0112)
https://www.ipa.go.jp/security/ciadr/vul/20140417-struts.html
日本シーサート協議会
Struts: ClassLoader の操作を許してしまう脆弱性 (CVE-2014-0094, CVE-2014-0112, CVE-2014-0113) について
http://www.nca.gr.jp/2014/struts_s20/index.html
6.3 その他
2014年3月2日
Apache Struts: S2-020: Upgrade Commons FileUpload to version 1.3.1 (avoids DoS attacks) and adds 'class' to exclude params in ParametersInterceptor (avoid ClassLoader manipulation)
https://cwiki.apache.org/confluence/display/WW/S2-020
Apache Struts: Version Notes 2.3.16.1
https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.1
2014年4月17日
IPA: Apache Struts2 の脆弱性対策について(CVE-2014-0094)(S2-020)
https://www.ipa.go.jp/security/ciadr/vul/20140417-struts.html
2014年4月18日
IPA: 更新:Apache Struts2 の脆弱性対策について(CVE-2014-0094)(CVE-2014-0112)
https://www.ipa.go.jp/security/ciadr/vul/20140417-struts.html
MBSD:Apache Struts2(2.3.16、S2-020の修正版)に対するゼロディを弊社エンジニアが発見いたしました。
http://www.mbsd.jp/news20140422.html
2014年4月24日
ラック:Apache Struts 2の脆弱性が、サポート終了のApache Struts 1にも影響 ~国内でいまだ大量稼働するStruts 1利用企業に、直ちに緩和策を~
http://www.lac.co.jp/security/alert/2014/04/24_alert_01.html
Apache Struts: S2-021: Improves excluded params in ParametersInterceptor and CookieInterceptor to avoid ClassLoader manipulation
https://cwiki.apache.org/confluence/display/WW/S2-021
2014年4月25日
Apache Struts: Version Notes 2.3.16.2
http://struts.apache.org/release/2.3.x/docs/version-notes-23162.html
2014年4月29日
[ANN][SECURITY] ClassLoader manipulation issue confirmed for Struts 1 - CVE-2014-0114
https://lists.apache.org/thread/hz1kzg1bwbk2j8jgdnc4027lj09gdp0c
2014年5月1日
[ANN][SECURITY] Struts 1 - CVE-2014-0114 -Mitigation Advice Available, Possible RCE Impact
https://lists.apache.org/thread/bvw683thonwhno97j66bpjn8w0hpgbpo
2014年5月3日
Apache Struts: S2-022: Extends excluded params in CookieInterceptor to avoid manipulation of Struts' internals
https://cwiki.apache.org/confluence/display/WW/S2-022
Apache Struts: Version Notes 2.3.16.3
https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.3
7. 更新履歴
2020年10月23日
2015年01月13日
2014年05月07日
2014年04月28日
2014年04月26日
担当:寺田、大西/HIRT