ServiceNow の脆弱性 CVE-2025-3648 が FIX:ACL ミスコンフィグによるデータ漏洩

ServiceNow Flaw CVE-2025-3648 Could Lead to Data Exposure via Misconfigured ACLs

2025/07/10 TheHackerNews — ServiceNow プラットフォームに、深刻度の高いセキュリティ欠陥が発見された。コードネーム “Count(er) Strike” と呼ばれる、この脆弱性 CVE-2025-3648 (CVSS:8.2) は、Now Platform の 条件付き ACL (access control list) ルールを介した、データ推論の欠陥に該当する。ServiceNow のセキュリティ・アドバイザリには、「Now Platform の条件付き ACL コンフィグにより、レンジ・クエリ・リクエストを悪用する未認証のユーザーが、通常ではアクセスできないインスタンス・データを、推論できるという脆弱性が確認された」と記されている。

この脆弱性は、2024年2月にサイバー・セキュリティ企業 Varonis により発見/報告されたものだ。Varonis によると、この脆弱性を悪用する攻撃者は、個人識別情報 (PII) や認証情報などの機密情報に対して、不正にアクセスできるという。

この脆弱性の本質は、リストページ上のレコード数 UI 要素に起因する。この要素を悪用することで、ServiceNow 内の多様なテーブルに保存される機密データが、推測され漏洩する可能性があるという。

2025年7月10日 (木) に Varonis の研究員である Neta Armon は、「この欠陥は、ServiceNow の全インスタンスおよび数百に及ぶテーブルに影響を与える可能性があった」と述べている。

特に注視すべき点は、インスタンス内で自己登録された低権限の匿名ユーザーなどの、最小限のテーブル・アクセス権を持つ者であっても、この脆弱性の容易な悪用が可能だった点である。それにより、権限昇格を必要としない、機密データの漏洩へと至る恐れがある。

ServiceNow のテーブル・アクセスは ACL コンフィグにより制御されるが、”Data Condition” あるいは “Script Condition” が満たされない場合であっても、情報推論の手段として悪用されることが確認された。これらの条件は、特定のデータ基準あるいはカスタム・ロジックの評価に基づき、アクセス制御を行うものである。

このような状況下では、「セキュリティ制約により、このリストから削除された行数」という文言と共に、ユーザーに対してカウント数が表示される。その一方で、”Required Roles” あるいは “Security Attribute Condition” によりアクセスが遮断された場合には、「セキュリティ制約により、要求されたページにアクセスできない」という空白ページが提示される。

ACL の4つの条件は、ロール/セキュリティ属性/データ条件/スクリプト条件の順序で評価される。したがって、ユーザーがリソースにアクセスする際には、すべての条件を満たす必要があるが、条件が空欄であれば制約が無いと見なされる。

ACL 条件に応じて異なるレスポンス・メッセージが表示されるという事実により、脅威アクターたちは、満たされていない条件を特定できてしまう。その上で、クエリ・パラメータとフィルタを組み合わせたクエリを繰り返すことで、データベース・テーブルの列挙が可能となる。データ条件およびスクリプト条件のみで保護されているテーブルは、この推論攻撃の影響を受けてしまう。

Neta Armon は、「インスタンス内の任意のユーザーが、たとえ最小限の権限しか持たない者であっても、誤って設定されたテーブルにアクセスできるなら、この脆弱性の悪用が可能となる。つまり、この脆弱性は、最初の2つの条件が空白、あるいは、過度に許可された ACL ルールが存在する、インスタンスの全テーブルに影響を及ぼす」と指摘している。

さらに、脅威アクターたちは、ドット・ウォーキングや自己登録といった手法により、この脆弱性の影響範囲を拡大し、関連テーブルからのデータ取得/アカウント作成などを達成し、管理者の承認を必要としないインスタンス・アクセスを可能にするという。

すでに ServiceNow は、Query ACLs/Security Data Filters/Deny-Unless ACLs などの新たなセキュリティ機構を導入し、この脆弱性に対処している。現時点において、この脆弱性が実際に悪用されたという証拠は存在しないが、すべてのユーザーに対して強く推奨されるのは、機密性の高いテーブルへのガードレールの適用である。

さらに Neta Armon は、「ServiceNow のクエリ・レンジにおける ACL は、今後のデフォルトでは拒否設定となる予定であるため、承認済みユーザーによる操作を許可するには、除外を設定する必要がある」と警告している。