公開日:2017/03/09 最終更新日:2017/10/02
      
        JVNVU#93610402
        Apache Struts2 に任意のコードが実行可能な脆弱性
                緊急
              
      
      Apache Struts2 には、任意のコードが実行可能な脆弱性が存在します。
- Struts 2.3.5 から 2.3.31 まで
 - Struts 2.5 から 2.5.10 まで
 
Apache Struts2 には、Jakarta Multipart parser の処理に起因する、任意のコードが実行可能な脆弱性が存在します。
なお、本脆弱性の攻撃コードが公開されています。
遠隔の第三者によって細工されたリクエストを処理することで、アプリケーションの権限で任意のコードを実行される可能性があります。
アップデートする
本脆弱性が修正されたバージョン (Struts 2.3.32 および Struts 2.5.10.1) へアップデートする。
ワークアラウンドを実施する
次のワークアラウンドを実施し、本脆弱性の影響を軽減する。
- Multipart パーサを変更する
開発者から、Jakarta Multipart parser および JakartaStreamMultiPartRequest の修正用プラグインが提供されています。 - File Upload Interceptor を無効化する (Struts 2.5.8 から Struts 2.5.10 に対してのみ有効)
 
| ベンダ | ステータス | ステータス 最終更新日  | 
              ベンダの告知ページ | 
|---|---|---|---|
| サイボウズ株式会社 | 該当製品無し | 2017/03/24 | サイボウズ株式会社 の告知ページ | 
| ジェイティ エンジニアリング株式会社 | 該当製品無し | 2017/04/03 | |
| 日本電気株式会社 | 該当製品あり | 2017/09/29 | 
- 
                            独立行政法人情報処理推進機構 (IPA)
Apache Struts2 の脆弱性対策について(CVE-2017-5638)(S2-045) - 
                            CERT/CC Vulnerability Note VU#834067
Apache Struts 2 is vulnerable to remote code execution 
【2017年3月17日追記】
開発者は、multipart/form-data を扱うパーサを、デフォルトの JakartaMultipartRequest から別の実装に変更する方法を、対策として記載しています。
JPCERT/CC による検証では、本脆弱性の影響を受けるバージョンにおいて JakartaStreamMultiPartRequest に変更しても本脆弱性の影響を受けることを確認したため、対策方法から削除しています。
【2017年3月21日追記】
S2-046 の脆弱性情報を反映しています。
              CVSS v3
              CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
              
                
            
            
                  基本値:
                  7.3
                
                
              | 攻撃元区分(AV) | 物理 (P) | ローカル (L) | 隣接 (A) | ネットワーク (N) | 
|---|---|---|---|---|
| 攻撃条件の複雑さ(AC) | 高 (H) | 低 (L) | ||
| 必要な特権レベル(PR) | 高 (H) | 低 (L) | 不要 (N) | |
| ユーザ関与レベル(UI) | 要 (R) | 不要 (N) | ||
| スコープ(S) | 変更なし (U) | 変更あり (C) | ||
| 機密性への影響(C) | なし (N) | 低 (L) | 高 (H) | |
| 完全性への影響(I) | なし (N) | 低 (L) | 高 (H) | |
| 可用性への影響(A) | なし (N) | 低 (L) | 高 (H) | 
                CVSS v2
                AV:N/AC:L/Au:N/C:P/I:P/A:P
                
                  
              
              
                    基本値:
                    7.5
                  
                  
                | 攻撃元区分(AV) | ローカル (L) | 隣接 (A) | ネットワーク (N) | 
|---|---|---|---|
| 攻撃条件の複雑さ(AC) | 高 (H) | 中 (M) | 低 (L) | 
| 攻撃前の認証要否(Au) | 複数 (M) | 単一 (S) | 不要 (N) | 
| 機密性への影響(C) | なし (N) | 部分的 (P) | 全面的 (C) | 
| 完全性への影響(I) | なし (N) | 部分的 (P) | 全面的 (C) | 
| 可用性への影響(A) | なし (N) | 部分的 (P) | 全面的 (C) | 
| JPCERT 緊急報告 | 
                                    JPCERT-AT-2017-0009 Apache Struts 2 の脆弱性 (S2-045) に関する注意喚起  | 
              
| JPCERT REPORT | 
                                     | 
              
| CERT Advisory | 
                                     | 
              
| CPNI Advisory | 
                                     | 
              
| TRnotes | 
                                     | 
              
| CVE | 
                                    CVE-2017-5638 | 
              
| JVN iPedia | 
                                     | 
              
- 2017/03/15
 - 参考情報に CERT/CC VU#834067 を追記しました
 - 2017/03/17
 - 対策方法を更新し、JPCERT/CCからの補足情報を追加しました
 - 2017/03/21
 - 対策方法、ベンダ情報リンク、JPCERT/CCからの補足情報を更新しました
 - 2017/03/24
 - サイボウズ株式会社のベンダステータスが更新されました
 - 2017/03/24
 - サイボウズ株式会社のベンダステータスが更新されました
 - 2017/04/03
 - ジェイティ エンジニアリング株式会社のベンダステータスが更新されました
 - 2017/07/25
 - 日本電気株式会社のベンダステータスが更新されました
 - 2017/10/02
 - 日本電気株式会社のベンダステータスが更新されました
 
