Apache Struts 2 の Parameters インターセプタの実装に起因するClassLoader を操作可能な脆弱性(Scan Tech Report)
Apache Struts 2 の Parameters インターセプタには、class パラメータの処理に起因して ClassLoader を不正に操作されてしまう脆弱性が存在します。
脆弱性と脅威
Apache Struts 2 の Parameters インターセプタには、class パラメータの処理に起因して ClassLoader を不正に操作されてしまう脆弱性が存在します。
悪意あるリモートの第三者に利用された場合、Apache Struts 2 上で動作するWeb アプリケーションを一時的にサービス不能状態にされる、あるいはシステム上で不正な操作が実行される可能性があります。
外部に公開する Web アプリケーションで Apache Struts 2 を利用する環境では、深刻な影響を受ける可能性があるため、影響を受けるバージョンの Apache Struts 2 を利用するユーザは速やかに以下に記載する対策を実施することを推奨します。
2.深刻度(CVSS)
5.0
http://nvd.nist.gov/cvss.cfm?version=2&name=CVE-2014-0094&vector=%28AV:N/AC:L/AU:N/C:N/I:P/A:N%29
3.影響を受けるソフトウェア
Apache Struts 2.0.0 - 2.3.16
4.解説
Apache Struts は、Apache Software Foundation が提供する Web アプリケーションを構築するためのフレームワークであり、インターセプタと呼ばれる、
Action クラスの前後に処理を挟み込む機能が実装されています。その中の 1 つ、Parameters インターセプタ (ParametersInterceptor)※1 は、リクエストパラメータを制御することを目的としています。
Apache Struts 2 には、この Parameters インターセプタにおいて、class パラメータを適切にチェックせず、直接 getClass() メソッドへ渡してしまう不備があります。
このため、class.classLoader.* を含むリクエストを介して ClassLoader を不正に操作可能な脆弱性が存在します。
この脆弱性を利用することで、リモートの攻撃者は、Apache Struts 2 上で動作する Web アプリケーションを一時的にサービス不能状態する、あるいは Apache Struts 2 を実行するユーザの権限で任意の Java コードが可能となります。
なお、公開されている攻撃手法では、ClassLoader を介して Apache Tomcat のアクセスログの出力先※2、ファイル名およびフォーマットを変更します。
その後、Java コードを含むリクエストを送信し、アクセスログに Java コードを書き込み、アクセスログを参照することによって、送信した Java コードを実行するという手法になります。
※1 http://struts.apache.org/development/2.x/docs/parameters-interceptor.html
※2 出力先は公開ディレクトリ、ファイル名は JSP ファイルに変更します。
5.対策
以下の Web サイトより、Apache Struts 2.3.16.1 以降を入手しアップデートすることで、この脆弱性を解消※3 することが可能です。
Apache Struts 2.3.16.1:
http://struts.apache.org/download.cgi
あるいは、設定ファイル struts-default.xml の excludeparams に ^class\.を追加し、ClassLoader を操作するために必要な文字列 "class." から始まる文字列がリクエストに含まれていた場合に拒否する設定にすることで、この脆弱性を緩和することが可能です。
※3 Apache Struts 2.3.16.1 におけるこの脆弱性に対する修正が不完全である可能性が Full Disclosure※4 で示唆されています。
このことにより、次期バージョン Apache Struts 2.3.17 では、Struts の github で公開される修正コード※5 が実装される予定です。
※4 http://seclists.org/fulldisclosure/2014/Mar/50
※5 https://github.com/apache/struts/commit/aaf5a3010e3c11ae14e3d3c966a53ebab67146be
6.ソースコード
(Web非公開)
(執筆:株式会社ラック サイバー・グリッド研究所)
※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。
Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html
関連リンク
編集部おすすめの記事
特集
株式会社ラック(LAC)
-
TeamCity におけるパス文字列処理の不備に起因する認証回避の脆弱性(Scan Tech Report)
2024 年 3 月に公開された、JetBrains 社の TeamCitry の脆弱性…
-
Windows 版 GlobalProtect App における権限昇格につながる任意のファイル削除の脆弱性(Scan Tech Report)
-
FileCatalyst Workflow における任意のコード実行につながるパストラバーサルの脆弱性(Scan Tech Report)
-
2023年にネットバンキングの不正送金が急増した理由
-
Nagios XI の monitoringwizard.php における SQL Injection の脆弱性(Scan Tech Report)
-
ラックが2024年3月期 通期決算を公表、売上高は前期比12.4%増
-
runc におけるコンテナ内部からホスト OS への侵害が可能となるファイルディスクリプタ情報漏えいの脆弱性(Scan Tech Report)
-
Linux の GSM ドライバにおける Use-After-Free の脆弱性(Scan Tech Report)
Scan Tech Report
-
TeamCity におけるパス文字列処理の不備に起因する認証回避の脆弱性(Scan Tech Report)
2024 年 3 月に公開された、JetBrains 社の TeamCitry の脆弱性…
-
Windows 版 GlobalProtect App における権限昇格につながる任意のファイル削除の脆弱性(Scan Tech Report)
-
FileCatalyst Workflow における任意のコード実行につながるパストラバーサルの脆弱性(Scan Tech Report)
-
Nagios XI の monitoringwizard.php における SQL Injection の脆弱性(Scan Tech Report)
-
runc におけるコンテナ内部からホスト OS への侵害が可能となるファイルディスクリプタ情報漏えいの脆弱性(Scan Tech Report)
-
Linux の GSM ドライバにおける Use-After-Free の脆弱性(Scan Tech Report)
-
Cacti における遠隔コード実行につながる複数の脆弱性(Scan Tech Report)
-
Jenkins に任意のファイルの読み取りが可能となるコマンドラインインターフェース機能におけるアクセス制御不備の脆弱性(Scan Tech Report)
Scan PREMIUM 倶楽部
-
レッドチーム演習大成功 丸五か月間誰も気づけず
CISA は、これを「SILENTSHIELD 評価」と呼んでいる。CISA の…
-
今日もどこかで情報漏えい 第26回「2024年6月の情報漏えい」ふたつの “完全には否定できない” 違いは どこを向いているか
-
ランサムウェア集団が謝罪
-
TeamCity におけるパス文字列処理の不備に起因する認証回避の脆弱性(Scan Tech Report)
-
裏目に出たサンドボックス/露北軍事同盟/MFAの穴 ほか [Scan PREMIUM Monthly Executive Summary 2024年6月度]
-
開発元にソフトウェアの製造責任を負わせるのは合理的?
-
支払額倍増の場合も ~ オラクルが Fortune 200 へ Java ライセンスに関する監査書送付を開始
-
被告:CISO ~ 実例で考える CISO が訴訟されるリスク
脆弱性と脅威 アクセスランキング
-
Assimp にヒープベースのバッファオーバーフローの脆弱性
-
スマホアプリ「ピッコマ」に外部サービスの APIキーがハードコードされている問題
-
「ポケモンセンターオンライン」を装ったフィッシングサイトに注意喚起(ポケモンセンター)
-
NETGEAR 製ルータにバッファオーバーフローの脆弱性
-
JPCERT/CC、仮想通貨マイニングツールのXMRigの設置を狙った攻撃を順序立てて詳説~対策マニュアルとしても有効
-
PlayStation公式になりすましたアカウントに注意喚起、個人情報要求DMも
-
HOME SPOT CUBE2 に複数のバッファオーバーフローの脆弱性
-
メルカリがフィッシング詐欺に注意喚起、アプリの利用など推奨
-
「GROWI」にWebブラウザ上で任意のスクリプトを実行される複数の脆弱性(JVN)
-
同日に再攻撃やフリーツール悪用も、2022年下半期 IPA 届出事例