最終更新日時:Fri, 01 Dec 2023 22:11:26 GMT
ownCloudは、エンタープライズ環境向けに設計されたファイル共有プラットフォームです。2023年11月21日、ownCloudは、「Graph API」(graphapi)と呼ばれる脆弱な拡張機能が存在する場合に、ownCloudに影響を及ぼす認証されていない情報漏えいの脆弱性CVE-2023-49103を公開しました。2023年2月以降、ownCloudがDocker経由でデプロイされた場合、この脆弱なgraphapiコンポーネントがデフォルトで存在します。ownCloudが手動でインストールされた場合、デフォルトではgraphapiコンポーネントは存在しません。
ShodanでownCloudを検索すると、インターネット上に少なくとも12,320のインスタンスがあることがわかる(2023年12月1日現在)。このうち何台が現在脆弱性を抱えているかは不明だそうです。
ファイル転送および共有プラットフォームは、過去にランサムウェアグループからの攻撃を受けており、ownCloudもファイル共有プラットフォームであることから、特に懸念される標的となっています。2023年11月30日、CISAは既知の悪用可能な脆弱性(KEV)リストにCVE-2023-49103を追加し、脅威行為者がこの脆弱性を悪用し始めたことを示しています。Rapid7 Labsは、このブログを書いている時点で、少なくとも3つの顧客環境に対するエクスプロイトの試みを観測しています。
この脆弱性は、URIエンドポイント「/apps/graphapi/vendor/Microsoft/microsoft-graph/tests/GetPhpInfo.php」を標的とした場合に、PHP関数「phpinfo」の出力を介して、認証されていない攻撃者が機密情報を漏洩させることを可能にします。この出力には、ownCloudシステムに提供されるユーザー名やパスワードなどの秘密を保持する環境変数が含まれます。特に、ownCloudがDocker経由でデプロイされる場合、シークレットを環境変数経由で渡すのが一般的です。
当初、ownCloudのDockerインストールは悪用できないと考えられていましたが、Rapid7の研究者は、要求されたURIを修正することで、既存のApacheウェブサーバの書き換えルールを回避し、ターゲットURIエンドポイントに正常に到達できるようにすることで、ownCloudの脆弱なDockerベースのインストールを悪用できることを確認しました(2023年11月30日現在)。
以前は、ownCloudの脆弱なDockerベースのインストールを悪用しようとすると、HTTP 302リダイレクトで失敗すると考えられていましたが、この新しいテクニックを使用すると、ownCloudの脆弱なDockerベースのインストールを悪用することに成功します。Dockerは環境変数を介してシークレットを渡すため、攻撃者はOWNCLOUD_ADMIN_USERNAMEおよびOWNCLOUD_ADMIN_PASSWORD環境変数のようなシークレットをリークすることができます。
事件のタイムライン
対象製品
注意:影響を受けるバージョンや悪用可能な要件に関する情報は、脅威に関する詳細が判明するにつれて変更される可能性があります。
影響を受ける製品は ownCloud Graph API 拡張で、具体的にはバージョン 0.2.1 以前の 0.2.x および 0.3.1 以前の 0.3.x です。CVE-2023-49103は、2023年9月1日にリリースされたgraphapiのバージョン0.3.1と0.2.1で修正されています。
詳細はベンダーのページhttps://marketplace.owncloud.com/apps/graphapi。
緩和ガイダンス
CVE-2023-49103を修正するには、脆弱性のあるgraphapiコンポーネントをベンダーアドバイザリに従って0.3.1にアップデートする必要があります。以下のファイルがownCloudのインストールに存在する場合、削除する必要があります:
/owncloud/apps/graphapi/vendor/microsoft/microsoft-graph/tests/GetPhpInfo.php
ownCloudのインストールは、適切なPHP ini設定ファイルのPHP無効化関数リストにPHP関数 "phpinfo "を追加することで、さらに堅牢化することができます。CVE-2023-49103を公開して以来、ownCloudは公式Dockerコンテナイメージのいくつかの最新バージョンにこの堅牢化機能を追加しました。この追加以前にリリースされたDockerイメージからビルドされたDockerコンテナには、イメージを再構築しない限り、更新されたハードニングは適用されません。
少なくともownCloudをバージョン10.13.1にアップデートすることを強く推奨します。ownCloudの完全なバンドルの一部としてgraphapiが出荷されている場合、CVE-2023-49103が解決されます。バージョン10.13.1では、他にも2つの脆弱性が解決されています:
この3つの脆弱性はすべて、ownCloudが2023年11月21日に公表したものです。
侵害の指標(IoC)
CVE-2023-49103の侵害の指標(IoC)は、Apacheサーバーのアクセスログに以下の内容を含むURIパスへのHTTP GETリクエストが存在することです:
/apps/graphapi/vendor/microsoft/microsoft-graph/tests/GetPhpInfo.php
成功したリクエストにはHTTP 200レスポンスが返されます。例えば、ownCloudの脆弱なDockerベースのインストールに対する悪用の試みが成功した場合、ログファイルのエントリは次のようになります(右までスクロールしてください):
192.168.86.34 - - [01/Dec/2023:09:32:57 +0000] "GET /apps/graphapi/vendor/microsoft/microsoft-graph/tests/GetPhpInfo.php/.css HTTP/1.1" 200 30939 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0 Safari/537.36"
Dockerベースのインストールを悪用する場合、攻撃者はApacheの書き換えルールをバイパスしてターゲットのエンドポイントに正常に到達できるようにするために、`/.css`のような追加のパスセグメントをターゲットのURIパスに追加する必要があります。ownCloudの.htaccessファイルは、書き換えルールをバイパスする複数の潜在的なファイル拡張子を指定しているため、攻撃者が使用できる追加のパスセグメントは、以下に示すように、いくつかの値のうちの1つである可能性があります:
/.css
/.js
/.svg
/.gif
/.png
/.html
/.ttf
/.woff
/.ico
/.jpg
/.jpeg
/.json
/.properties
/.min.map
/.js.map
/.auto.map
脆弱な ownCloud サーバーが PHP の関数 `phpinfo` を無効化された関数リストに追加している場合、 攻撃者にコンテンツは返されず、HTTP レスポンスの Content-Length は 0 になります。
悪用の試みが失敗すると、404または302レスポンスコードを含むHTTPレスポンスが表示されます。
Rapid7 Labs は、組織がこの脆弱性に関連する可能性のある悪用行為を特定するのに役立つシグマ・ルールを用意しています。リンク:https://github.com/rapid7/Rapid7-Labs/tree/main/Sigma
Rapid7のお客様
InsightVMとNexposeの顧客は、本日(12月1日)のコンテンツリリースに予定されているunixシステム向けの認証済みチェックにより、CVE-2023-49103への露出を評価することができます。
注意:緊急の脅威は急速に進化します。この脆弱性に関してさらに多くのことが判明するにつれて、このブログ記事も進化していきます。このページは、私たちの調査結果、製品の適用範囲、およびこの脅威の緩和と対策に役立つその他の重要な情報のアンカーとして機能します。
私たちの目的は、全容が明らかになるまでには時間がかかることを理解した上で、私たちが自信を持って確認できる限りの情報を、可能な限り早い段階で提供することです。この脆弱性の詳細が判明し、攻撃ベクターの詳細な技術的分析が行われた際には、このブログ記事をリアルタイムで更新する予定です。
※本ブログは英語版ブログ "CVE-2023-49103 - Critical Information Disclosure in ownCloud Graph API" の機械翻訳版です。最新情報等につきましては、原文をご参照ください。