Java WebアプリケーションフレームワークのApache Strutsに深刻な脆弱性が見つかった問題で、この脆弱性の悪用を狙う攻撃が活発化しているもようだ。ゴールデンウィークの長期休暇を前に、企業や組織などでの対策が急がれる。
この脆弱性(CVE-2016-3081)は、Dynamic Method Invocation(DMI)に起因する。DMIを有効にしているシステムで悪用された場合、リモートの攻撃者が細工したHTTPリクエストを使ってサーバ上で任意のコードを実行する恐れがある。脆弱性はApache Struts 2.3.20〜2.3.28(2.3.20.3と2.3.24.3を除く)に存在する。
脆弱性を修正した更新版は、Apache Struts 2.3.20.3および2.3.24.3、2.3.28.1となる。対策は更新版の適用。一時的にDMIを無効化するか、ActionMapperによるユーザー自身での実装によって影響を回避することもできるとされる。また、バージョン2.3.15.2以降ではDMIがデフォルトで無効になっている。
脆弱性の詳細情報は日本時間27日に公開され、この時点で既に脆弱性を悪用するための攻撃実証コードが存在していた。警察庁では27日午前2時頃から脆弱性を抱えたシステムを探索したり、攻撃の可否を調査したりする目的とみられるアクセスを多数観測している。また、セキュリティ企業のラックによれば攻撃は26日に始まり、28日午前までに増加し続けている。
JPCERT コーディネーションセンター(JPCERT/CC)は28日、攻撃実証コードと細工したHTTPリクエストを使って任意のOSコマンドが実行可能かを検証した結果を公開。更新版では任意のOSコマンドを実行できないことを確認したという。
検証環境
CentOS 7.2.1511、Apache Tomcat 7.0.57、Java 1.8.0_71、Apache Struts 2を使用するサンプルアプリケーション
実証コードと任意のOSコマンドの実行可否の検証結果
Apache Strutsバージョン | DMI有効 | DMI無効 |
---|---|---|
Apache Struts 2.3.28.1 | 不可 | - |
Apache Struts 2.3.28 | 可能 | 不可 |
Apache Struts 2.3.24.3 | 不可 | - |
Apache Struts 2.3.24.1 | 可能 | 不可 |
Apache Struts 2.3.24 | 可能 | 不可 |
Apache Struts 2.3.20.3 | 不可 | - |
Apache Struts 2.3.20.1 | 可能 | 不可 |
Apache Struts 2.3.20 | 可能 | 不可 |
JPCERT/CCは、脆弱性の影響を受けるバージョンでDMIを有効にしている場合、早期の対策の検討を強く推奨している。
関連記事
- (更新)Apache Strutsに危険度「高」の脆弱性、攻撃実証コードも公開
悪用された場合に任意のコードを実行される恐れがある。 - Oracleの定例アップデート公開、データベースやJavaに深刻な脆弱性
特にDatabase ServerやFusion Middleware、Java SE、Solaris、MySQLの各製品に、危険度の高い脆弱性が存在する。 - NTPに複数の脆弱性、更新版で修正
悪用された場合、サービス妨害(DoS)攻撃を仕掛けられたり認証をかわされたり、設定を変更されたりする恐れがある。 - Windows Server 2003の機能を悪用する攻撃、初の確認
Windows Server 2003で更新プログラムのインストールに使われていた「ホットパッチ」機能を悪用したサイバースパイ攻撃が初めて確認された。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.