公開日: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

参考情報

  1. 独立行政法人情報処理推進機構 (IPA)
    Apache Struts2 の脆弱性対策について(CVE-2017-5638)(S2-045)
  2. CERT/CC Vulnerability Note VU#834067
    Apache Struts 2 is vulnerable to remote code execution

JPCERT/CCからの補足情報

【2017年3月17日追記】
開発者は、multipart/form-data を扱うパーサを、デフォルトの JakartaMultipartRequest から別の実装に変更する方法を、対策として記載しています。
JPCERT/CC による検証では、本脆弱性の影響を受けるバージョンにおいて JakartaStreamMultiPartRequest に変更しても本脆弱性の影響を受けることを確認したため、対策方法から削除しています。

【2017年3月21日追記】
S2-046 の脆弱性情報を反映しています。

JPCERT/CCによる脆弱性分析結果

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
日本電気株式会社のベンダステータスが更新されました