Java WEBアプリ開発「Apache Struts2(アパッチ・ストラッツ)」に重大な脆弱性

TIPS
Struts2攻撃イメージ(IPAより)

多少古い情報ではありますが参考までにご覧ください。

いらっしゃいませ。ぶんちょうです。たまにはこんな記事を書いてみたりする。

Java WEBアプリ開発環境 Apache Struts2 に重大な脆弱性【20140430更新

概要

情報処理推進機構(IPA)セキュリティセンターは2014年4月17日、オープンソースのWebアプリケーションフレームワーク「Apache Struts 2」に存在する脆弱性を狙う攻撃コードが公開されていることを踏まえ、緊急対策を呼び掛けています。

Struts2攻撃イメージ(IPAより)

Struts2攻撃イメージ(IPAより)

細工されたリクエストをWebサーバに送りつけることでClassLoaderが不正に操作され、特定のファイルが悪用されたり、情報が流出したりする恐れがあります。さらに、特定のファイルが不正に操作されることによって任意のコードが実行される可能性もあります。

この脆弱性を悪用する攻撃コードは公開されており、IPAで再現検証をしたところ、Webアプリケーションの動作権限内で情報窃取や特定ファイルの操作、また、Webアプリケーションを一時的に使用不可にできることが確認されたそうです。

 

対象(とてもやさしい説明)

Apache Strutsとは、Javaのウェブアプリケーションを作成するための開発環境(ソフトウェアフレームワーク)です。WEBサーバなんかで有名なApache Software Foundation が提供しています。

ぶっちゃけ一般の方には直接関係ありません。サーバ側とか開発環境の問題です。JAVA開発をしないパソコンには普通は入ってませんし、ましてやInternetExplorやChromeといったブラウザに搭載されているものでもありません。

ただし、仕事とかでJavaで作られたシステムをお使いの場合は注意が必要です。それなりに業務量の大きい企業ですと、ブラウザを広げて社内ネットorインターネットに接続するタイプの基幹システム(顧客管理システムとか)をお使いかと。あやしいと思ったらシステム担当者に「大丈夫?」と言ってみて下さい。きっと嫌がられることでしょう。

 

対象(普通な情報)

Apache Struts 1.x / 2.0.0 から 2.3.16.1

バージョン確認方法:Apache Struts 2 を利用しているウェブアプリケーションの /WEB-INF/lib ディレクトリを開き、その中の struts2-core-2.x.x.x.jar ファイルの名称を確認してください。

※サポート対象外となったApache Struts 1.x にも当該脆弱性が確認されています。
※20140428に2.3.16.1への対策漏れが発覚しています。

 

対策方法

対策済みのバージョンである 2.3.16.2へバージョンアップする

Download a Release

 

回避方法

バージョンアップによる対策が難しい場合はApache Software Foundation が提供する情報をもとに、以下の回避策を適用してください。

設定変更による回避

  • params インターセプターへの参照を独自に記述している場合、excludeParams を適切に設定する
  • defaultStack を使用している場合、 excludeParams を適切に設定したスタックを使用するよう変更する

Announcements
http://struts.apache.org/announce.html

ネットワーク設定変更による回避

本脆弱性に対応したシグネチャを搭載した WAF や IPS 等のネットワーク機器で攻撃リクエストを遮断できる可能性があります。攻撃リクエストの遮断可否については、利用している機器のベンダへお問合せください。

 

備考

ちなみに2013年7月には別の脆弱性(S2-016)が検知され、IPAでも確認されています。攻撃は細工されたHTTPリクエストをApache Struts2上で動作するWebアプリケーションに送信することで、任意のJavaコードが実行される。これによって第三者がリモートから任意のコードを実行できてしまう可能性があるという。この際にはApache Struts 2.3.15.1へのアップデートが推奨されていました。
[amazonjs asin=”4798037451″ locale=”JP” tmpl=”Small” title=”EclipseではじめるJavaフレームワーク入門―クラウド開発対応”]

 

まとめ

こいつを使ったWEBアプリがあるってことは、それなりにクリティカルなデータを扱っていたりで社内手続き的に速攻バージョンアップは難しいでしょうね。とりあえず可能ならIP制限してから改修スケジュール作るのが吉かな?

データ

更新:Apache Struts2 の脆弱性対策について(CVE-2014-0094)(CVE-2014-0112)(CVE-2014-0113):IPA 独立行政法人 情報処理推進機構
情報セキュリティ関連情報のユーザー、管理者、技術者に向けた発信、その前提となる情報収集、調査分析、研究開発、技術評価等の実施
Apache Struts の脆弱性 (S2-016) に関する注意喚起
301 Moved Permanently

 

タイトルとURLをコピーしました