Apache Struts 2 の DefaultActionMapper クラスの実装に起因する任意コマンド実行の脆弱性(Scan Tech Report)
Apache Struts 2 に "action:","redirect:","redirectAction:" プレフィックスを含むリクエストの取り扱いに起因して、任意の Java コードが実行可能な脆弱性が報告されました。
脆弱性と脅威
エクスプロイト
Apache Struts 2 に "action:","redirect:","redirectAction:" プレフィックスを含むリクエストの取り扱いに起因して、任意の Java コードが実行可能な脆弱性が報告されました。
悪意あるリモートの第三者に利用された場合、システム上で不正な操作が実行される可能性があります。
この脆弱性を悪用する攻撃が多数確認されており、外部に公開する Web アプリケーションで Apache Struts 2 を利用する環境では、攻撃を受ける可能性が高いため、影響を受けるバージョンの Apache Struts 2 を利用するユーザは速やかに以下に記載する対策を実施することを推奨します。
2.深刻度(CVSS)
6.8
http://nvd.nist.gov/cvss.cfm?version=2&name=CVE-2013-2251&vector=%28AV%3AN/AC%3AM/Au%3AN/C%3AP/I%3AP/A%3AP%29
3.影響を受けるソフトウェア ※
Apache Struts 2.0.0 - 2.3.15
4.解説
Apache Struts は、Apache Software Foundation が提供する Web アプリケーションを構築するためのフレームワークであり、Apache Struts 2 より OGNL (Object-Graph Navigation Language)※1 をサポートしています。
※1 Java オブジェクトのフィールドを取得または設定するための式言語
Apache Struts 2 には、DefaultActionMapper クラス※2 において、"action:","redirect:","redirectAction:" プレフィックスに指定されたパラメータをOGNL 式として処理する際のチェックに不備があります。
このため、当該プレフィックスに不正なパラメータを指定したリクエストをApache Struts 2 上で動作する Web アプリケーションに対して送信することで、任意の Java コードを実行可能な脆弱性が存在します。
※2 Class DefaultActionMapper
http://struts.apache.org/release/2.3.x/struts2-core/apidocs/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.html
この脆弱性を利用することで、リモートの攻撃者は Web アプリケーションサーバの実行権限で任意のコマンド実行が可能となります。
なお、既にサポートが終了している Apache Struts 1.x は、OGNL を未サポートのため、この脆弱性の影響を受けません。
また、LAC 社によれば、国内の Web サイトに対する、本脆弱性を使用した攻撃が急増しているため、十分に注意する必要があると注意喚起を行っています。
Apache Struts2 の脆弱性(S2-016)を悪用した攻撃の急増について
http://www.lac.co.jp/security/alert/2013/07/18_alert_01.html
5.対策
以下の Web サイトより、Apache Struts 2.3.15.1 以降を入手しアップデートすることで、この脆弱性を解消することが可能です。
Apache Struts 2.3.15.1:
http://struts.apache.org/download.cgi
あるいは、"action:","redirect:","redirectAction:" プレフィックスを含むリクエストを WAF やリバースプロキシなどでアクセス制御する、または IPS 製品を導入し、当該リクエストを遮断することで、この脆弱性による影響を緩和することが可能です。
6.ソースコード
(Web非公開)
(執筆:株式会社ラック サイバー脅威分析センター)
※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。
Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html
《吉澤 亨史( Kouji Yoshizawa )》