2年2022月2022日、CVE-26134-9.0「Confluence」のゼロデイリモートコード実行脆弱性が、Confluence ServerおよびData Centerの全バージョンで発見されました。セキュリティレポートによると、この攻撃は高深刻度(CVSS:10.0/XNUMX)と判定されました。 アドバイザリー Atlassian 提供。
この深刻度が「クリティカル」の脆弱性にはCVE-2022-26134というIDが付与されており、脅威アクターはこの脆弱性を悪用して、OGNLインジェクションを用いた認証されていないリモートコード実行を実行する可能性があります。昨年、ConfluenceはConfluence ServerおよびConfluence Data Centerにおいて、重大なリモートコード実行の脆弱性(CVE-2021-26084)に直面しました。この脆弱性はOGNLインジェクションの欠陥に起因しており、認証されていない攻撃者がConfluence ServerまたはData Centerインスタンス上で任意のコードを実行できる可能性があります。
OGNL インジェクションとは何ですか?
Javaオブジェクト用のオープンソース式言語(EL)は、オブジェクトグラフナビゲーション言語(OGNL)と呼ばれています。特にOGNLは、ビジネス環境でJavaベースのWebアプリケーションを作成するための一般的なフレームワークであるApache StrutsでEL式の評価を可能にします。Apache Strutsの最も深刻な欠陥は、 OGNL 式インジェクション攻撃では、無効な式が値スタックに対して評価され、攻撃者がシステム変数を変更したり任意のコードを実行したりできるようになります。
テクニカル分析:
CVE-2022-26134は、Confluenceサーバーのコンテキストでコード実行を引き起こすリモートコード実行の脆弱性です。この脆弱性を悪用しようとする脅威アクターは、悪意のあるペイロードをHTTPリクエストのURIに配置します。有効なHTTPメソッド(GET、POST、PUTなど)か無効なHTTPメソッドかを問わず、あらゆるHTTPメソッドが機能するようです。
悪意のあるペイロードを含む URL の最も単純な形式は次のようになります。
%24%7B%40java.lang.Runtime%40getRuntime%28%29.exec%28%22touch%20/tmp/r7%22%29%7D/
上記のエクスプロイトはURLエンコードされています。URLをデコードすると、以下のエクスプロイトが生成されます。
${@java.lang.Runtime@getRuntime().exec(“touch /tmp/r7”)}、新しいファイルが作成されます / tmp / ディレクトリにあります。
以下にキャプチャされた GET リクエスト トラフィックでは、脅威アクターが Confluence に存在する脆弱性を利用するために OGNL インジェクションを実行していることがわかります。

図:1
この脆弱性を利用しようとする脅威アクターは、侵害されたサーバーの応答も必要とし、X-Cmd-Response ヘッダーを使用できます。
たとえば、id コマンドを実行し、脆弱なサーバーからの応答の X-Cmd-Response ヘッダーで出力を受信します。
図:2
根本的な原因:
この脆弱性の根本的な原因は、translateVariables関数内のfindValue(str)メソッドにあります。サーバーはHTTPリクエストを受信するとすぐにtranslateVariablesメソッドを呼び出します。
TextParseUtil メソッドが、メソッド内の式パラメータとして指定されたリクエスト URI で呼び出されると、文字列がコンパイルされ、パターン “\\\\$\\\\{([^}]*)\\\\}” から削除された後、残りのコードが findValue メソッドに転送され、このシナリオではコードが実行されます。

図:3
前述の通り、主な問題はURIを引数としてtranslateVariablesを呼び出すことです。Atlassianが提供した修正には、いくつかの変更が含まれています。
1 つ目は、findValue メソッドで入力式の安全な式チェックを追加することです。
2 つ目は、translateVariables メソッドを使用せずに finalNamespace 変数と finalActionName 変数を設定することです。
最後の変更は、translateVariables 関数が呼び出されない場合は使用されないため、OgnValueStack を削除することです。
パッチ前:

図:4
パッチ後:

図:5
Atlassianは、xworks jarにSafeExpressionUtil.classも含めました。findValueが呼び出された際に式を分析するため、SafeExpressionUtil.classはOgnlValueStack.classに追加され、安全でない式をフィルタリングします。例えば、次のようになります。

図:6
クイックヒールがユーザーを保護する方法
Quick Healは、この種の脆弱性を悪用する攻撃に対して広範な保護を提供します。QHのHIPSモジュールは、悪意のあるネットワークトラフィック、悪意のあるファイル、悪意のあるIPアドレスなどの悪意のあるアクティビティを識別・ブロックし、お客様を保護します。
検出のハイライト
ファイルベース
· 有効期限 CVE-2022-26134.46649
· 有効期限: CVE-2022-26134.46650.GC
· JS.バックドア.38151
· ELF.Trojan.45098.GC
· Script.Trojan.44757
ネットワークベース
· HTTP/CVE-2022-26134!RP.46663
· HTTP/CVE-2022-26134!RP.46665
· HTTP/CVE-2022-26134!RP.46686
· HTTP/CVE-2022-26134!RP.46687
IOC
ハッシュ
· 4c02c3a150de6b70d6fca584c29888202cc1deef
· 80b327ec19c7d14cc10511060ed3a4abffc821af
· 75259ee2db52d038efea5f939f68f122
· ea18fb65d92e1f0671f23372bacf60e7
· 6078c8a0c32f4e634f2952e3ebac2430
· f8df4dd46f02dc86d37d46cf4793e036
· df096b253754a66cded9ad81b8ea27f5
· 3eb5db35032f5147761f7f8eb8e661c2
· de7a94deccdb9a274ed3c06b28993c0c
IPS
154.146.34.145
154.16.105.147
156.146.34.46
156.146.34.52
156.146.34.9
156.146.56.136
198.147.22.148
198.147.22.148
221.178.126.244
45.43.19.91
59.163.248.170
64.64.228.239
66.115.182.102
66.115.182.111
67.149.61.16
98.32.230.38


