Новая уязвимость ServiceNow позволяет злоумышленникам перечислять ограниченные данные
Gurd 10/07/2025 0
Новая уязвимость в ServiceNow, получившая название Count(er) Strike, позволяет пользователям с низким уровнем привилегий извлекать конфиденциальные данные из таблиц, к которым у них не должно быть доступа.
ServiceNow — это облачная платформа, позволяющая организациям управлять цифровыми рабочими процессами в рамках своей деятельности. Она широко применяется в различных отраслях, включая государственный сектор, здравоохранение, финансовые учреждения и крупные предприятия.
Уязвимость была обнаружена Varonis Threat Labs в феврале 2024 года и получила идентификатор CVE-2025-3648. Она может влиять на конфигурации с неправильно настроенными или слишком разрешительными списками контроля доступа.
ServiceNow выпустила дополнительные фреймворки контроля доступа в версиях Xanadu и Yokohama, выпущенных в прошлом месяце, для решения этой проблемы. Тем не менее, всем администраторам следует проверить существующие таблицы, чтобы убедиться, что их данные надежно защищены.
Ошибка Count(er) Strike
ServiceNow использует списки контроля доступа (ACL) для ограничения доступа к данным в своих таблицах. Каждый ACL оценивает четыре условия при определении того, должен ли пользователь иметь доступ к определённому ресурсу:
- Требуемые роли
- Атрибуты безопасности
- Условия данных
- Условия сценария
Для того чтобы пользователь получил доступ к ресурсу, все эти условия должны быть выполнены.
Однако если ресурс защищен несколькими списками ACL, ServiceNow ранее использовал условие «Разрешить, если». Это означало, что если пользователь удовлетворяет хотя бы одному списку ACL, он мог получить доступ, даже если другие списки ACL его бы заблокировали.
В некоторых случаях это давало полный доступ. Однако в других случаях предоставлялся частичный доступ, например, к количеству записей, который можно было использовать для злоумышленников, как объясняется далее в статье.
«Каждый ресурс или таблица в ServiceNow может иметь несколько списков ACL, каждый из которых определяет различные условия доступа», — поясняется в отчете Varonis .
Однако, если пользователь пропустит хотя бы один ACL, он получит доступ к ресурсу, даже если другие ACL могут не предоставлять доступ. Если ACL для ресурса отсутствует, доступ будет предоставлен по умолчанию, то есть в большинстве случаев будет установлен на значение «запретить».
Такая разрешительная модель позволила компании Varonis обнаружить возможность получения частичного доступа, который можно использовать для перечисления защищенных данных, даже если пользователь не прошел более строгие списки контроля доступа (ACL).
Компания Varonis обнаружила, что если пользователь не выполняет одно data
или script
несколько условий, ServiceNow всё равно возвращает количество записей в пользовательском интерфейсе и исходном HTML-коде. На странице также указано, что некоторые результаты были удалены из-за ограничений безопасности.

Ограниченные данные по-прежнему показывают количество записей и поля
Источник: Varonis
Используя эти частичные данные, компания Varonis начала манипулировать фильтрами на основе URL-адресов, такими как STARTSWITH
, CONTAINS
, =
, и !=
перечислять содержимое записей по одному символу или условию за раз.
Например:
https://[my_company].service-now.com/task_list.do?sysparm_query=short_descriptionSTARTSWITHp
Повторение этого процесса с различными значениями и запросами позволяет извлекать данные по одному символу или цифре за раз.
Чтобы автоматизировать эту процедуру, компания Varonis создала скрипт, который успешно перечислил записи данных из таблицы, к которой у них был ограниченный доступ.

Перечисление данных с помощью скрипта
Источник: Varonis
Даже если данные записи не отображаются, количество записей позволяет получить достаточно информации для определения полей, включая учетные данные, личные данные и данные внутренней конфигурации.
Компания Varonis предупредила, что саморегистрирующиеся пользователи также могут использовать эту атаку. Саморегистрация — это функция, позволяющая пользователям создавать учётные записи и получать доступ к экземпляру с минимальными привилегиями, что всё равно может быть использовано для запуска атаки.
«Хотя случаи, когда анонимная регистрация и доступ разрешены, редки, такая конфигурация была обнаружена в системах ServiceNow нескольких компаний из списка Fortune 500», — предупредил Варонис.
Смягчение атаки
В компании Varonis сообщили BleepingComputer, что они протестировали атаку на продукт ITSM компании ServiceNow, но заявили, что ее следует применять и ко всем продуктам ServiceNow, использующим ту же логику ACL.
ServiceNow отреагировал на атаку следующим образом:
- Представляем списки контроля доступа «Запретить, если не указано иное», которые требуют от пользователей пройти все списки контроля доступа, чтобы получить доступ к набору данных.
- Добавление списков контроля доступа (ACL) запросов, которые ограничивают эти типы запросов перечисления с использованием операторов диапазона.
- Рекомендуется использовать фильтры данных безопасности, которые скрывают количество строк и подавляют сигналы вывода.
Тем не менее, клиентам по-прежнему следует вручную просматривать свои таблицы и изменять списки контроля доступа, чтобы убедиться, что они не слишком разрешительны и, следовательно, не уязвимы для этой атаки.
Varonis утверждает, что не обнаружила никаких доказательств того, что эта уязвимость была эксплуатирована в реальных условиях.
Обновление от 10 июля 2025 г.: Статья обновлена с целью исправления ошибки, в которой говорилось, что уязвимость была обнаружена в феврале 2025 г. Она была обнаружена в феврале 2024 г.