Atlassian Companion App の脆弱性 CVE-2023-22524:PoC エクスプロイトが登場

Atlassian Companion Update Now! PoC for CVE-2023-22524 Puts Businesses on High Alert

2023/12/18 SecurityOnline — Atlassian Confluence Data Center/Server でのファイル編集を拡張するためのオプションである、Atlassian Companion App デスクトップ・アプリケーションに、深刻な脆弱性が発見された。この脆弱性 CVE-2023-22524 (CVSS :9.6) は、最新のソフトウェアにおけるリモート・コード実行 (RCE) に関する、複雑な課題とリスクを浮き彫りにしている。

Atlassian Companion App for MacOS 2.0.0 以下には、RCE 脆弱性が存在する。この脆弱性の悪用に成功した攻撃者は WebSocket を介して、Atlassian Companion のブロックリストや、MacOS Gatekeeper などのアプリケーションのセキュリティ対策を回避することで、不正なコード実行が可能性になる。

先日に、Imperva のセキュリティ研究者である Ron Masas は、脆弱性 CVE-2023-22524 の技術的詳細と PoC を発表し、その複雑なメカニズムを明らかにした。Masas は、Electron としてアクセス可能なアプリケーションのソースコードを詳細に調査することで、この脆弱性を特定した。彼は、このアプリの “asar” アーカイブを解析することで、その WebSocket 通信プロトコルについての洞察を得たという。

CVE-2023-22524 PoC

このアプリの WebSocket サーバは、2つの認証方法 (jwt/server) を使用している。Masas は、WebSocket 接続のオリジンを、信頼できるドメインのリストと照合する “server” オプションに着目した。彼は、認証メッセージに “siteTitle “を含めることで、ユーザーにドメインを信頼するよう求める、ポップアップ・テキストを操作できることを発見した。この操作によりユーザーを誤解させ、有害なドメインを信頼させることができると、悪用の可能性が高まる。

Masas は、ドメインが信頼されると、特定の API コールにアクセスできるようになることを発見した。特に注目すべきは、”launch-file-in-app” と “list-app” である。前者は、ファイルのダウンロードと実行が可能になるもので、後者は与えられた MIME タイプに適したアプリケーションを特定するものだ。この機能は、ユーザーのシステムにファイルを保存した後にのみファイルをブロックする、アプリのブロックリストと組み合わされ、悪用の糸口となった。

この脆弱性の特筆すべき点は、macOS のショートカット・ファイルである “.fileloc” ファイル拡張子だ。Masas は、この拡張子を巧妙に悪用してブロックリストを迂回し、”.class” のような特定のファイルがブロックされても、システムに保存されるという事実を悪用した。彼は、そのようなファイルを指す “.fileloc” を作成することで、リモート・コード実行に成功した。

Masas が気づいたのは、”.html” ファイルはブロックされているが、”.svg”/”.xml”/”.htm” などの類似の拡張子はブロックされないことであり、それらをブラウザの JavaScript 実行に利用した。この方法により、macOS のユーザー名をリークし、ブロックされたファイルの実行につながる、”.fileloc” ファイルの動的な生成に成功した。

予想外な展開だったが、macOS のツールである Automator を使う単純な方法を、Masas は発見した。スクリプト・エディターを使って Automator アプリケーションを実行することで、ユーザーのファイル・システム上で “.zip” ファイルを解凍し、ユーザーのデバイスに Java をインストールするという必要条件を回避できた。

脆弱性 CVE-2023-22524 の完全な PoC エクスプロイト・コードは GitHub で公開されており、この巧妙なセキュリティ侵害の詳細なブループリントも提供されている。