【活用ガイド】

JVNDB-2017-004912

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

概要

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

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

S2-048
https://struts.apache.org/docs/s2-048.html
CVSS による深刻度 (CVSS とは?)

基本値: 5.1 (警告) [IPA値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 高
  • 攻撃前の認証要否: 不要
  • 機密性への影響(C): 部分的
  • 完全性への影響(I): 部分的
  • 可用性への影響(A): 部分的

[参考] CVSS v3 による深刻度
基本値: 5.6 (警告) [IPA値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 高
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 低
  • 完全性への影響(I): 低
  • 可用性への影響(A): 低
影響を受けるシステム


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

想定される影響

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

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

Apache Software Foundation
CWEによる脆弱性タイプ一覧  CWEとは?

共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2017-9791
参考情報

  1. JVN : JVNVU#99376481
  2. National Vulnerability Database (NVD) : CVE-2017-9791
  3. JPCERT 注意喚起 : JPCERT-AT-2017-0025
更新履歴

[2017年07月11日]
  掲載