Apache Struts2 に任意のコードが実行可能な脆弱性
Apache Software Foundation が提供する Apache Struts は、Java のウェブアプリケーションを作成するためのソフトウェアフレームワークです。
Apache Struts 2 には、「Jakarta Multipart parser」のファイルアップロード処理に起因する、リモートで任意のコードが実行される脆弱性(CVE-2017-5638)が存在します。
本脆弱性が悪用された場合、遠隔の第三者によって、サーバ上で任意のコードを実行される可能性があります。
本脆弱性を悪用する攻撃コードおよび攻撃コードを用いたと思われる通信や被害が発生したとの情報が確認されていますので、対策済みのバージョンへのアップデートや回避策を至急実施してください。
[対策方法]
アップデートする
本脆弱性が修正されたバージョン (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 に対してのみ有効)
[参考情報]
・JVN(Japan Vulnerability Notes) Apache Struts2 に任意のコードが実行可能な脆弱性
(JVNU#92610402)
・独立行政法人情報処理推進機構 (IPA) Apache Struts2 の脆弱性対策について
(CVE-2017-5638)(S2-045)