Apache Struts 2 の脆弱性 (S2-037) に関する注意喚起
最終更新: 2016-06-21
各位
JPCERT-AT-2016-0027
JPCERT/CC
2016-06-20(新規)
2016-06-21(更新)
<<< JPCERT/CC Alert 2016-06-20 >>>
Apache Struts 2 の脆弱性 (S2-037) に関する注意喚起
https://www.jpcert.or.jp/at/2016/at160027.html
I. 概要
Apache Software Foundation が提供している Apache Struts 2 には脆弱性
(S2-037/CVE-2016-4438) が存在します。REST Plugin*1 を使用している場合、
遠隔の攻撃者が、脆弱性を悪用するように細工した HTTP リクエストを送信す
ることで、Apache Struts 2 を使用するアプリケーション (Struts アプリケー
ション) を実行しているサーバにおいて、任意のコードが実行される可能性が
あります。
脆弱性の詳細は、Apache Software Foundation の情報を確認してください。
*1 Struts アプリケーションにおいて REST サービスを実装するためのプラ
グイン
REST Plugin
https://struts.apache.org/docs/rest-plugin.html
本脆弱性の実証コードが公開されており、JPCERT/CC にて実証コードを用い
て検証した結果、Struts アプリケーションを実行しているアプリケーション
サーバの実行権限で任意のコードが実行されることを確認しました。
Apache Software Foundation から、本脆弱性に対する修正済みソフトウェア
が提供されています。影響するバージョンのソフトウェアを使用している場合
には、「V. 対策」を参考に、早期の対応を行うことを強く推奨します。
II. 想定される攻撃シナリオ
REST Plugin を使用している Struts アプリケーションに対して、脆弱性を
悪用するように細工した HTTP リクエストを送信することで、Struts アプリ
ケーションを実行しているサーバ上で任意のコードが実行されます。
III. 対象
本脆弱性の影響を受ける製品は以下の通りです。
- Apache Struts 2.3.20 から 2.3.28.1 まで
IV. JPCERT/CC による検証結果
JPCERT/CC では、本脆弱性に対する実証コードを用いて、以下の検証を実施
しました。
【検証内容】
- Apache Struts 2 を使用するサンプルのアプリケーションを Apache Tomcat
上に配備し、実証コードを用いて、脆弱性を悪用するように細工した HTTP
リクエストを送ることで、任意のコードが実行されるか確認しました。
【検証環境】
- アプリケーションサーバ
- CentOS 6.6
- Apache Tomcat 8.0.30
- Java 1.8.0_91
- Apache Struts 2 を使用するサンプルアプリケーション
【検証結果】
○:実証コードが動作しないことを確認
×:実証コードが動作し、任意のコード実行が可能であることを確認
- Apache Struts 2.3.28.1 | × |
- Apache Struts 2.3.29 | ○ |
V. 対策
Apache Software Foundation より、本脆弱性を修正したバージョンが公開
されています。十分なテストを実施の上、修正済みバージョンを適用すること
を強くお勧めします。
- Apache Struts 2.3.29
VI. 参考情報
Apache Struts 2 Documentation
S2-037: Remote Code Execution can be performed when using REST Plugin.
https://struts.apache.org/docs/s2-037.html
Apache Struts 2 Documentation
Version Notes 2.3.29
https://struts.apache.org/docs/version-notes-2329.html
Apache Struts 2 Documentation
REST Plugin
https://struts.apache.org/docs/rest-plugin.html
** 更新: 2016年06月21日追記 ******************************************
JVN#07710476
Apache Struts において任意のコードを実行可能な脆弱性
https://jvn.jp/jp/JVN07710476/
独立行政法人情報処理推進機構
「Apache Struts」において任意のコードを実行可能な脆弱性対策について(JVN#07710476)
https://www.ipa.go.jp/security/ciadr/vul/20160620-jvn.html
**********************************************************************
今回の件につきまして当方まで提供いただける情報がございましたら、ご連
絡ください。
________
改訂履歴
2016-06-20 初版
2016-06-21 「VI. 参考情報」の修正
======================================================================
一般社団法人 JPCERT コーディネーションセンター (JPCERT/CC)
MAIL: info@jpcert.or.jp
TEL: 03-3518-4600 FAX: 03-3518-4602
https://www.jpcert.or.jp/
Topへ