コンテンツにスキップするには Enter キーを押してください

新たなServiceNowの脆弱性により攻撃者が制限されたデータを列挙可能に

Image

「Count(er) Strike」と名付けられた新たなServiceNowの脆弱性により、権限の低いユーザーでも本来アクセスできないテーブルから機密データを抽出できる可能性があります。

ServiceNowは、企業のデジタルワークフローを管理するためのクラウドベースのプラットフォームです。公共機関、医療機関、金融機関、大企業など、さまざまな業界で広く採用されています。

この脆弱性は2025年2月にVaronis Threat Labsによって発見され、CVE-2025-3648として識別されました。誤った設定や過度に許可されたACLを持つ構成に影響を与える可能性があります。

ServiceNowはこの問題に対処するため、先月リリースされたXanaduおよびYokohamaバージョンで追加のアクセス制御フレームワークを導入しました。しかし、すべての管理者は既存のテーブルを確認し、データが適切に保護されていることを確認する必要があります。

Count(er) Strikeの脆弱性

ServiceNowは、テーブル内のデータへのアクセスを制限するためにアクセス制御リスト(ACL)を利用しています。各ACLは、ユーザーが特定のリソースにアクセスできるかどうかを判断する際に、以下の4つの条件を評価します:

  • 必要なロール
  • セキュリティ属性
  • データ条件
  • スクリプト条件

ユーザーがリソースにアクセスするには、これらすべての条件を満たす必要があります。

しかし、リソースが複数のACLで保護されている場合、ServiceNowは以前「許可する場合」という条件を使用しており、ユーザーが1つでもACLを満たせば、他のACLでブロックされていてもアクセスできてしまう仕組みでした。

このため、場合によっては完全なアクセスが許可されましたが、他の場合には、記事内で後述するように、悪用可能なレコード数など部分的なアクセスが許可されていました。

「ServiceNowの各リソースやテーブルには、アクセス条件を定義する複数のACLを設定できます」とVaronisのレポートは説明しています。

「しかし、ユーザーが1つでもACLを通過すると、他のACLがアクセスを許可しなくてもリソースにアクセスできます。リソースにACLが存在しない場合、アクセスはデフォルトのアクセスプロパティ(ほとんどの場合は拒否)に従います。」

この寛容なモデルにより、Varonisは、より制限の厳しいACLに失敗していても、保護されたデータを列挙できる部分的なアクセスが可能であることを発見しました。

Varonisは、ユーザーがdata条件またはscript条件に失敗した場合でも、ServiceNowはUIおよびソースHTMLでレコード数を返すことを発見しました。また、ページにはセキュリティ制約により一部の結果が削除された旨も表示されます。

Image
制限されたデータでもレコード数やフィールドが表示される
出典:Varonis

この部分的なデータを使い、VaronisはSTARTSWITHCONTAINS=!=などのURLベースのフィルターを操作し、1文字または1条件ずつレコードの内容を列挙し始めました。

例えば:

https://[my_company].service-now.com/task_list.do?sysparm_query=short_descriptionSTARTSWITHp

このプロセスを異なる値やクエリで繰り返すことで、1文字または1桁ずつデータを取得できます。

この手順を自動化するために、Varonisはアクセス権が制限されたテーブルからデータレコードを列挙するスクリプトを作成しました。

Image
スクリプトを使ったデータの列挙
出典:Varonis

たとえレコードデータが表示されなくても、レコード数から認証情報、個人情報(PII)、内部設定データなどのフィールドを特定できる十分な情報が漏洩します。

Varonisは、自己登録ユーザーもこの攻撃を利用できると警告しています。自己登録は、ユーザーが自分でアカウントを作成し、最小限の権限でインスタンスにアクセスできる機能ですが、それでも攻撃の起点となり得ます。

「匿名登録とアクセスを許可するインスタンスは稀ですが、この構成が複数のフォーチュン500企業のServiceNowシステムで見つかりました」とVaronisは警告しています。

攻撃の緩和策

VaronisはBleepingComputerに対し、ServiceNowのITSM製品でこの攻撃をテストしたが、同じACLロジックを利用するすべてのServiceNow製品にも該当するはずだと述べました。

ServiceNowは現在、以下の方法でこの攻撃に対処しています:

  • 「Deny Unless」ACLの導入。これにより、ユーザーはすべてのACLを通過しなければデータセットにアクセスできません。
  • クエリACLの追加。これにより、範囲演算子を使ったこの種の列挙クエリを制限します。
  • セキュリティデータフィルターの利用推奨。これにより、行数の表示や推測の手がかりを隠します。

ただし、顧客は自分のテーブルを手動で確認し、ACLが過度に許可されていないか、攻撃に対して脆弱でないかを修正する必要があります。

Varonisによれば、この脆弱性が実際に悪用された証拠は今のところ確認されていません。


Tines Needle

2025年における8つの一般的な脅威

クラウド攻撃がますます高度化する一方で、攻撃者は驚くほど単純な手法でも成功しています。

Wizが数千の組織で検出したデータに基づき、このレポートではクラウドに精通した脅威アクターが使用する8つの主要な手法を明らかにします。

翻訳元: https://www.bleepingcomputer.com/news/security/new-servicenow-flaw-lets-attackers-enumerate-restricted-data/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です