CVE-2024-5217

ServiceNow Utah, Vancouver, and Washington DC Now Platform

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2024-07-29

Официальное описание

ServiceNow Washington DC, Vancouver, and earlier Now Platform releases contain an incomplete list of disallowed inputs vulnerability in the GlideExpression script. An unauthenticated user could exploit this vulnerability to execute code remotely.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2024-5217 представляет собой критическую уязвимость типа RCE (Remote Code Execution), возникающую из-за недостаточной фильтрации входных данных в скрипте GlideExpression. Проблема заключается в неполном списке запрещенных выражений (Incomplete List of Disallowed Inputs), что позволяет неавторизованному злоумышленнику внедрить вредоносный код. Успешная эксплуатация позволяет выполнить произвольные команды на стороне сервера в контексте приложения ServiceNow, что ведет к полной компрометации экземпляра (instance) и потенциальному доступу к конфиденциальным данным.

Как исправить

Основным способом устранения уязвимости является установка соответствующих патчей (Hot Fix) или обновление до исправленных версий платформы. ServiceNow выпустила обновления для всех затронутых веток.

  1. Определите текущую версию вашей платформы через Stats (введите stats.do в строке навигации).
  2. Перейдите в портал поддержки ServiceNow (Now Support) и скачайте соответствующий патч.
  3. Примените обновление для вашей версии:
  4. Для Washington DC: Обновитесь до версии Washington DC Patch 1 Hotfix 2b, Patch 2 Hotfix 2, Patch 3 Hotfix 2 или выше.
  5. Для Vancouver: Обновитесь до версии Vancouver Patch 6 Hotfix 2, Patch 7 Hotfix 3b, Patch 8 Hotfix 4, Patch 9 Hotfix 1 или выше.
  6. Для Utah: Обновитесь до версии Utah Patch 10 Hotfix 3 или выше.

Для проверки статуса обновления в консоли (если применимо к вашей инфраструктуре управления):

snc cluster node list

Временные меры

Если немедленное обновление невозможно, необходимо минимизировать риски с помощью следующих шагов:

  1. Ограничение сетевого доступа: Настройте IP Access Controls, чтобы ограничить доступ к экземпляру ServiceNow только из доверенных корпоративных сетей или через VPN.

  2. Мониторинг подозрительной активности: Настройте алерты в SIEM на специфические паттерны в URL-запросах, содержащие попытки манипуляции с GlideExpression.

  3. Использование Web Application Firewall (WAF): Настройте правила фильтрации для блокировки запросов, содержащих подозрительные скриптовые вставки в параметрах, передаваемых в GlideExpression.

Пример проверки системных журналов на предмет попыток эксплуатации:

var gr = new GlideRecord('syslog');
gr.addQuery('message', 'CONTAINS', 'GlideExpression');
gr.query();
while (gr.next()) {
    gs.info('Подозрительная активность: ' + gr.message);
}