Edited at

Weblogicの任意のコード実行(CVE-2018-2894)

More than 1 year has passed since last update.

7月18日に、Oracle Fusion Middleware の Oracle WebLogic Server

において、任意のコードが可能な脆弱性が公開(CVE-2018-2894)されました。

脆弱性の公開後、githubや中国圏を中心とした検証サイトでPoCが公開されています。


脆弱性

脆弱性の影響を受けるバージョンは以下となります。今回検証した12.2.1.0.0でも脆弱でしたので、以下バージョン以前は気を付けなくてはいけません。


  • 10.3.6.0

  • 12.1.3.0

  • 12.2.1.2

  • 12.2.1.3


脆弱環境

Weblogicを立ち上げ、console画面にログインします。ログイン後、ドメイン構造のbase_domainをクリックします。

下にスクロールすると、「Webサービスのテスト・ページの有効化」の項目がありますので、これにチェックを入れます。Weblogicを再起動する必要があるみたいなので再起動。

hXXp://localhost:7001/ws_utc/config.doにアクセスすると、無事ページが公開されました。7001ポートはデフォなので、自分の環境に従ってアクセスしてね。


レッツ検証

検証したPoC:

https://raw.githubusercontent.com/LandGrey/CVE-2018-2894/master/CVE-2018-2894.py

第一段階:

現在の作業ディレクトリを別のディレクトリに変更してます。

自分のカレントディレクトリに新たなcssフォルダが追加されてます。

第二段階:

/ws_utc/resources/setting/keystore宛に複数ファイルをアップロードします。本PoCは文字列を表示させるファイルを複数アップロードするだけですが、他のPoCではここでBackdoorをアップロードしてます。

アップロードしたファイルにアクセスためには、タイムスタンプが必要です。サーバから以下のような応答が返ってきますので、5つのファイルがアップロードできたことがわかります。

第三段階:

タイムスタンプを含めたファイルへアクセスします。(hXXp://localhost:7001/ws_utc/css/config/keystore/1532091925590-_360sglab.jsp)

文字列が表示されており、無事PoCが成功したことが確認できました。

番外:

アップロードされたファイルは2パターンで確認できます。

違いとしては、Web上の方はjspファイルしか見れなくて、インストールフォルダは全部見れるということでしょうか。

1つ目は、securityタブを押すことで、アップロード一覧が見れます。

2つ目は、インストールフォルダの配下を確認することで、アップロード一覧が見れます。

インストールフォルダ\user_projects\domains\base_domain\servers\AdminServer\tmp_WL_internal\com.oracle.webservices.wls.ws-testclient-app-wls\4mcj4y\war\css\config\keystore


最後に

現在のPoCはテストページを意図的に生成しなければ成功しないみたいです。

そのため、12月末に出た脆弱性と違いあまり影響はないと思います。

ハニーポットでも本脆弱性と考えられる検知もないことですし。


追記 7月21日

上記のPoCはアップデートされてるので、現在の挙動は異なります。