公開日:2017/07/10 最終更新日:2017/07/20

JVNVU#99376481
Apache Struts2 の Struts1 プラグインを使用するアプリケーションに任意のコードが実行可能な脆弱性

概要

Apache Struts2 において、Struts1 プラグインを使用するアプリケーションには任意のコードが実行可能な脆弱性が存在します。

影響を受けるシステム

  • Struts 2.3 系で Struts1 プラグインを使用して動作するアプリケーション

詳細情報

Apache Struts2 において、Struts1 プラグインを使用するアプリケーションには任意のコードが実行可能な脆弱性が存在します。

開発者が公開している S2-048 において、本脆弱性を含むアプリケーションとして Apache Struts2 に付属しているサンプルアプリケーション showcase が挙げられています。
showcase アプリケーションは Struts1 プラグインを使用して作られており、Struts1 由来のアクションを通じて HTTP リクエストから受け取った値がそのまま出力用のメッセージの一部として使用されてしまうことが問題であると説明されています。

想定される影響

遠隔の第三者によって細工されたリクエストを処理することで、アプリケーションの権限で任意のコードを実行される可能性があります。

対策方法

ワークアラウンドを実施する
showcase アプリケーションの修正方法を参考に、ActionMessage クラス(のコンストラクタ)への入力処理を適切に行ってください。
詳しくは開発者の提供する情報を参照してください。

ベンダ情報

ベンダ ステータス ステータス
最終更新日
ベンダの告知ページ
アライドテレシス株式会社 該当製品無し 2017/07/11
サイボウズ株式会社 該当製品無し 2017/07/12
ジェイティ エンジニアリング株式会社 該当製品無し 2017/07/20

参考情報

JPCERT/CCからの補足情報

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

CVSS v3 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L
基本値: 5.6
攻撃元区分(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:H/Au:N/C:P/I:P/A:P
基本値: 5.1
攻撃元区分(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-0025
Apache Struts 2 の脆弱性 (S2-048) に関する注意喚起
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2017-9791
JVN iPedia

更新履歴

2017/07/11
アライドテレシス株式会社のベンダステータスが更新されました
2017/07/12
サイボウズ株式会社のベンダステータスが更新されました
2017/07/20
ジェイティ エンジニアリング株式会社のベンダステータスが更新されました