
Salesforceは、ハッカーがExperience Cloudプラットフォームを誤って設定し、ゲスト・ユーザーに意図した以上のデータにアクセスさせているウェブサイトを狙っていると顧客に警告している。しかし、恐喝集団 ShinyHunters は、インスタンスからデータを盗むために新しいバグを積極的に悪用していると主張している。
Salesforceは、誤設定されたExperience Cloudインスタンスの/s/sfsites/auraAPIエンドポイントを積極的に狙うハッカーから身を守るため、顧客向けのガイダンスを共有した。
同社によると、攻撃者はMandiant社が開発したオープンソースの監査ツールであるAuraInspectorの修正版を展開しており、管理者がSalesforce Auraフレームワーク内のアクセス制御の設定ミスを特定するのに役立つという。
「Salesforceが安全であることは重要であり、この問題は当社のプラットフォーム固有の脆弱性によるものではありません。これまでの調査で、この行為はプラットフォームのセキュリティ欠陥ではなく、顧客が設定したゲストユーザー設定に関連していることが確認されています」と、セールスフォースは勧告で述べている。
同社は、一般に公開されている Salesforce Experience サイトでは、匿名の認証されていない訪問者が公開を意図したデータにアクセスできるように、「ゲスト・ユーザー・プロファイル」を受け入れると説明している。このプロファイルが誤って設定され、過剰な権限が設定されている場合、訪問者は「ログインせずに直接 Salesforce CRM オブジェクトに問い合わせる」ことができる。
セールスフォースでは、ゲストユーザの権限を監査し、最小権限の原則を採用することで、このような攻撃に対する防御を強化できるとしています。
このリスクを軽減するために顧客ができる最も影響の大きい変更は、パブリック API へのゲストアクセスを無効にし、ゲストプロファイルから API Enabled 設定を削除することであると、ベンダーは述べている。
同社は、顧客に対して以下の一連の緊急措置を取ることを推奨している:
- ゲストユーザの権限を監査し、必要最小限に減らす。
- 外部からのアクセスについて、組織全体のデフォルトを非公開に設定する。
- ゲスト・ユーザが内部ユーザを列挙できないように、ポータル・ユーザ可視性とサイト・ユーザ可視性をオフにする。
- 公開されたゲスト・データがポータル・アカウントの作成やアクセス拡大に使用される可能性があるため、本当に必要な場合を除き、自己登録を無効にします。
システム管理者はまた、異常なアクセスパターン、見慣れない IP アドレス、または公開すべきではないオブジェクトに対するクエリについて Aura Event Monitoring ログを確認し、Salesforce が適切な担当者に迅速に通知できるようにセキュリティ担当者を指定する必要があります。
ShinyHuntersの責任
データ漏洩サイトへの投稿で、Salesforce Aura/Experience Cloud データ窃盗攻撃の責任を主張したのは、脅威アクターである ShinyHunters です。
Mandiant Consultingは声明で、ハッカーがAuraInspectorを使用して企業への侵入を試みていることを確認した。
「我々は、Salesforce環境全体の脆弱性スキャンを自動化するためにAuraInspectorオープンソースツールを悪用して侵入を促進しようとしている脅威行為者を認識している」とMandiantの最高技術責任者(CTO)であるCharles Carmakalは述べた。
「我々はセールスフォースと顧客と緊密に協力し、潜在的なリスクを軽減するために必要な遠隔測定と検出ルールを提供しています。組織のログからスキャンのアクティビティが検出されても、それが侵害を示すものではないことに注意することが重要です」とCTOは述べた。
ShinyHuntersによると、彼らは約100の有名企業(その多くはサイバーセキュリティ分野)を侵害したという。侵入された組織の総数は、300から400の間であるとハッカーは語った。

:
ハッカーは、2025年9月に、ゲスト・ユーザーに対する安全でないエクスペリエンス・クラウドのアクセス制御設定を持つ企業を侵害し始めたと語った。彼らはまた、/s/sfsites/エンドポイントをインターネットでスキャンしてAuraインスタンスを特定していました。
Salesforceの制限により、脅威当事者は同社のGraphQL APIを通じて一度に2,000レコードしかクエリできず、データ窃盗のプロセスが遅くなったと述べている。しかし、ハッカーはsortByパラメータを発見し、制限を回避できたと主張している。
管理者が誤った設定のインスタンスを見つけるのを助けるためにAuraInspectorが1月にリリースされたとき、ShinyHuntersは追加の偵察のためにコードを修正したと言う。Salesforceの勧告では、脅威行為者がMandiantのツールの亜種を使用して、”Experience Cloudの公開サイトの大量スキャンを実行した “ことが確認されている。
その後、脅威行為者はデータを盗むために独自のツールを作成し、ユーザーエージェントの一部として以下の文字列を使用していることが判明している:
Anthropic/RapeForceV2.01.39 (AGENTIC)
このツールは、SnowFlakeデータ盗難攻撃で使用された “RapeFlake “ツールと似た名前を持っている。
ShinyHuntersは、Salesforceが以前Mandiantによって指摘されたsortByのトリックを修正した後、2,000レコードのクエリ制限をバイパスする新しい方法を発見し、”それ以来目立たないように悪用している “と主張している。
この脅威アクターは、Salesforceが勧告を発表する前の週末に2,000レコードの制限を迂回するために使用される方法を修正したと主張していますが、その後、Auraインスタンスが適切に設定されている場合でも、Auraインスタンスからデータを盗むことができる脆弱性を発見したと述べています。
が、これが事実かどうかを独自に確認することはできていない。この新たな攻撃についてセールスフォース社に問い合わせたところ、同社のプラットフォームには脆弱性は存在しないとの回答を得た。
この脅威アクターは、インスタンスへの「パブリック・アクセス」を無効にすることで、この新たな攻撃からSalesforceの顧客を守ることができると考えていると話している。しかし、そうすることでゲストアクセスも無効になり、ウェブサイトがプライベートポータルに変わってしまう。
脅威アクターは、この新しい攻撃は、通常のブラウザのユーザーエージェントのように見える以下のユーザーエージェントを使用していると語った。
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0 Safari/537.36
驚くべきことに、脅威の発信者は、Salesforce の顧客はインスタンスへの「パブリックアクセス」を無効にすることで、これらの攻撃から身を守ることができると考えていると述べている。
しかし、そうすることでゲストアクセスも無効になり、ウェブサイトがプライベートポータルに変わってしまう。
.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px;
width: 100%;
}
.ia_button {
width: 100%;
margin: 0px auto;
}
}




Comments