ラベル Java の投稿を表示しています。 すべての投稿を表示
ラベル Java の投稿を表示しています。 すべての投稿を表示

2014年5月15日木曜日

Strutsの脆弱性

Apache Strutsの脆弱性について調べてみた。
こちらのブログの方が非常に丁寧にまとめていたので、
ポイントを抜粋する形でメモ。

Strutsの脆弱性CVE-2014-0094について改めてまとめてみた
Struts: ClassLoader の操作を許してしまう脆弱性 (CVE-2014-0094, CVE-2014-0112, CVE-2014-0113) について

今回の脆弱性は、外部からJavaのクラスローダーの操作を許してしまう脆弱性です。
(クラスローダーを操作して何が出来るかはStrutsが動作するアプリケーションサーバーに依存します。)

IPAでは次の影響を受ける可能性を報告しています。
・Webアプリケーションの動作権限内で情報の窃取や特定ファイルの操作が出来る
・Webアプリケーションを一時的に使用不可に出来る
・攻撃者が操作したファイルに Java コードが含まれている場合、任意のコードが実行される

対象の主なバージョン
■Struts1
全てのバージョンではないが、サポート終了のため修正版リリースは現在行われていない。
(ただし修正版、または回避策の提供をする可能性についてApache Software Foundationよりアナウンスが出ています。)

■Struts2
2.3.16.1以前全て。
2.3.16.2(2014年4月25日リリース)へアップデートすることで修正されるようです。
ただし、別のこのバージョンも新たな脆弱性が発見されたため、
2014年5月3日に2.3.16.3がリリースされているので、どうせならこっちへアップデートするべき。

とりあえずまとめは以上。
Strutsの現状について、以下のブログで詳しく紹介されていますが、
まだまだ脆弱性がでそうです。



2014年4月2日水曜日

Tomcatのスレッドダンプの解析方法

TomcatのCPU負荷が高い場合などに、一定の間隔で5回くらい出力したスレッドダンプを
「侍」というソフトで解析することで、処理中のソースを特定することができます。

Linuxでのスレッドダンプは、以下のコマンドで catalina.out に出力されます。
kill -3 [TomcatのPID]

※TomcatのJavaのオプションに「-Xrs」を付加すると、スレッドダンプを取得するための
 シグナルを受け付けなくなり解析できないので注意が必要です。