※追記すべき情報がある場合には、その都度このページを更新する予定です。
概要
Apache Software Foundation が提供する Apache Struts は、Java のウェブアプリケーションを作成するためのソフトウェアフレームワークです。
Apache Struts 2 には、以下の条件の両方を満たす場合に、リモートで任意のコードが実行される脆弱性(CVE-2018-11776)が存在します。
- alwaysSelectFullNamespace を true に設定している場合
- Struts設定ファイルに、オプションのnamespace属性を指定しないか、ワイルドカードネームスペースを指定する "action"タグまたは "url"タグが含まれている場合
本脆弱性が悪用された場合、遠隔の第三者によって、サーバ上で任意のコードを実行される可能性があります。
本脆弱性を悪用する攻撃コードが公開されていますので、対策済みのバージョンへのアップデートをしてください。
図:脆弱性を悪用した攻撃のイメージ
影響を受けるバージョン
- Apache Struts 2.3 から 2.3.34
- Apache Struts 2.5 から 2.5.16
Apache Software Foundation によると、サポートされていない Struts のバージョンも影響を受ける可能性があるとのことです。
なお、「Apache Struts 1」は既に2013年4月5日を以ってサポートが終了しています。
一般的にサポートが終了した製品は脆弱性が判明した場合でも脆弱性対策の修正対応は実施されず、影響等の情報も公開されません。
サポート終了している「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 のバージョンです。
対策
脆弱性の解消 - アップデートする
開発者が脆弱性を修正した最新版を公開していますのでアップデートを実施してください。
Download a Release of Apache Strutshttp://struts.apache.org/download.cgi#struts2517
参考情報
- S2-057
https://cwiki.apache.org/confluence/display/WW/S2-057 - Apache Struts 2 の脆弱性 (S2-057) に関する注意喚起
https://www.jpcert.or.jp/at/2018/at180036.html - Semmle Discovers Critical Remote Code Execution Vulnerability in Apache Struts (CVE-2018-11776)
https://semmle.com/news/apache-struts-CVE-2018-11776 - CVE-2018-11776: How to find 5 RCEs in Apache Struts with Semmle QL
https://lgtm.com/blog/apache_struts_CVE-2018-11776 - Apache Struts2 の脆弱性対策情報一覧
https://www.ipa.go.jp/security/announce/struts2_list.html
本件に関するお問い合わせ先
E-mail:
更新履歴
2018年8月24日 | 概要の修正、参考情報のリンク追記 |
---|---|
2018年8月23日 | 参考情報のリンク追記 |
2018年8月23日 | 掲載 |