Oracle WebLogic Serverに含まれるリモートコード実行に関する脆弱性(CVE-2019-2725)についての検証レポート

2019/05/09 初版
2019/05/21 更新
野本 竹春、松本 拓也、鈴木 涼太

2019年4月26日にOracleが公表した、Oracle WebLogic Serverに含まれるリモートからの任意のコード実行が行われる脆弱性(CVE-2019-2725)についての検証を実施し、脆弱性の悪用が可能であることを確認しました。

1. 本脆弱性の概要

「Oracle WebLogic Server」は、Oracleによって提供されるJava EEによるWebアプリケーション実行用ソフトウェアです。
本脆弱性はKnownSec 404セキュリティチームにより、Oracle WebLogic Serverにデフォルトで実装されているwls9_asyncおよびwls-wsatコンポーネントにおいて、ユーザー認証を必要とせずリモートから任意のコード実行が可能となる脆弱性(CVE-2019-2725/CNVD-C-2019-48814)が存在することが報告されました。[1]

本脆弱性は、不正なSOAPメッセージを含む細工されたHTTPリクエストをデシリアライズ処理する際に、適切な処理が行われないことに起因します。

Oracleは本脆弱性についてCVSSv3スコアで9.8と評価しています。[2]
同社は本脆弱性に関連するものとしてCVE-2018-2628、CVE-2018-2893、CVE-2017-10271を挙げており、CVE-2017-10271の概念実証コードをベースに作成された本脆弱性の概念実証コードなども確認されています。

図1. 本脆弱性を悪用した攻撃の例

図1. 本脆弱性を悪用した攻撃の例

図1は、本脆弱性に対する攻撃の一例として、インターネットから脆弱性を含むOracle Weblogic Serverへ攻撃者が不正なHTTPリクエストを送信する攻撃例を示しています。

2. 本脆弱性の影響を受ける環境

本脆弱性の影響を受ける可能性があるバージョンは以下の通りです。

  • Oracle WebLogic Server 10.3.6.0
  • Oracle WebLogic Server 12.1.3.0

3. 本脆弱性を利用した攻撃の検証

概念実証(PoC)コードを用いて本脆弱性に対する攻撃を試行し、脆弱性の悪用が可能であることを検証しました。

3.1. 検証環境

表1. 検証に使用した環境
  疑似攻撃者 疑似被害者
OS Kali Linux 2017.04 64bit CentOS 7.3 64bit
および
Ubuntu 18.04.2 64bit
アプリケーション 概念実証コード Oracle WebLogic Server 11g 10.3.6.0
JDK 8u211 build 1.8.0_211-b12
および
Oracle WebLogic Server 12c 12.1.3.0
JDK 8u211 build 1.8.0_211-b12

3.2. 攻撃手法

Oracle WebLogic Serverの管理コンソール用に使用するポート(TCP 7001番)に対して不正なHTTP POST リクエストを送信し、任意のOSコマンド実行を試みます。

図2. 概念実証コードのリクエストとそのレスポンス

図2. 概念実証コードのリクエストとそのレスポンス

図2は、攻撃対象サーバーに対して送信された概念実証コードによるリクエストと攻撃対象サーバーからのレスポンスです。

青線にて示している通り、「cat /etc/passwd」の実行結果をwls9_asyncコンポーネントで使用されるディレクトリ配下に「favicon.ico」ファイルとして対象サーバー上に出力します。
OSコマンドはOracle WebLogic Serverを動作させているユーザーの権限によって攻撃対象サーバー上で実行させることが可能です。

3.3. 検証結果

図3に示す結果の通り、攻撃者端末から「favicon.ico」ファイルを参照することでOSコマンドの実行結果を確認することが出来ました。

図3. 攻撃対象のサーバー上で攻撃コードの実行に成功した結果を確認

図3. 攻撃対象のサーバー上で攻撃コードの実行に成功した結果を確認

4. 本脆弱性に対する対策

4.1. 現在推奨されている対策

2019年5月8日現在、Oracleより本脆弱性の修正用パッチが提供されています。

KnownSec 404によれば、以下のいずれかの方法によって本脆弱性の影響を回避することが可能であるとしています。

  • 回避策1: wls9_async_response.warとwls-wsat.warを削除しWeblogic serviceを再起動する。
  • 回避策2: アクセスポリシーで/_async/*と/wls-wsat/*に対するURLアクセスに制限を設ける。

4.2. 不正アクセス監視機器による対策

4.2.1. 当社が確認している不正アクセス監視機器の対応状況

各製品ベンダーの本脆弱性への対応状況に関する情報、及び本検証による各製品での検知結果は以下の通りです。表2に公式シグネチャの提供状況を記載します。

表2. 製品ベンダーによるシグネチャー提供状況(2019年05月21日時点)
種別 製品ベンダー/
製品
製品ベンダー提供のシグネチャー 検知
結果
IDS/IPS IBM
QRader
Network Security
GX/XGS Series
XPU 3905.01115:
SOAP_Oracle_WorkContextXmlInputAdapter_Exec [2104449]
McAfee
Network
Security Platform
NS/M Series
Signature Set 9.8.44.3:
HTTP: Oracle WebLogic Servers Deserialization Vulnerability (CVE-2019-2725) [0x45262000]
WAF Imperva
SecureSphere
メーカーからのシグネチャーは現在未提供です。 -
NGFW Palo Alto
PA Series
Application and Threat Content:
・Oracle WebLogic wls9-async Remote Code Execution Vulnerability [55570]
Check Point
NGFW Series
IPS Software Blade:
・Oracle WebLogic Server Remote Code Execution (CVE-2019-2725)
検証中

参考文献

機器別当社対応サービス

IDS/IPS

WAF

NGFW

更新履歴

2019/05/09 初版作成
2019/05/21 「表2. 製品ベンダーによるシグネチャー提供状況」のCheck Pointシグネチャー名更新

本件に関するお問い合わせ先

NTTデータ先端技術株式会社
お問い合わせフォーム

  • ※ 各規格名、会社名、団体名、製品名は、各社の商標または登録商標です。

Oracle WebLogic Serverに含まれるリモートコード実行に関する脆弱性(CVE-2019-2725)についての検証レポート