CVE-2025-0994

Trimble Cityworks

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

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

2025-02-07

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

Trimble Cityworks contains a deserialization vulnerability. This could allow an authenticated user to perform a remote code execution attack against a customer's Microsoft Internet Information Services (IIS) web server.

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

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

CVE-2025-0994 представляет собой критическую уязвимость небезопасной десериализации данных в программном обеспечении Trimble Cityworks. Проблема возникает из-за некорректной обработки входных данных, которые передаются в методы десериализации на стороне сервера.

Авторизованный злоумышленник может отправить специально сформированный сериализованный объект в HTTP-запросе. При попытке сервера восстановить объект из этих данных происходит выполнение произвольного кода в контексте учетной записи, под которой запущен веб-сервер Microsoft Internet Information Services (IIS). Это приводит к полному компрометированию сервера, возможности закрепления в сети и краже конфиденциальных данных.

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

Основным и единственным надежным способом устранения уязвимости является обновление Trimble Cityworks до версий, в которых данная ошибка была исправлена.

  1. Определите текущую версию Cityworks через панель администрирования или файл version.txt в корневом каталоге приложения.
  2. Скачайте соответствующий патч или обновленный установщик с официального портала поддержки Trimble (MyTrimble).
  3. Установите обновления для следующих веток (или более новые):
  4. Cityworks 23.x (обновите до актуального сервис-пака, выпущенного после января 2025 г.)
  5. Cityworks 15.8.x (примените соответствующий Hotfix)

После установки обновлений перезапустите службы IIS:

iisreset /restart

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

Если немедленное обновление невозможно, необходимо применить меры по снижению риска (Mitigation), чтобы затруднить эксплуатацию уязвимости:

  1. Ограничение прав сервисной учетной записи: Убедитесь, что пул приложений (Application Pool) в IIS работает от имени учетной записи с минимальными привилегиями (Managed Service Account), а не от имени LocalSystem или Administrator.

  2. Настройка фильтрации запросов в IIS: Заблокируйте подозрительные POST-запросы, содержащие признаки сериализованных объектов (например, специфические заголовки или маркеры в теле запроса), если это не нарушает работу легитимных функций.

  3. Изоляция сервера: Ограничьте доступ к интерфейсу Cityworks с помощью сетевых экранов (Firewall) или VPN, разрешив подключения только доверенным IP-адресам сотрудников.

  4. Мониторинг процессов: Настройте аудит создания процессов на сервере IIS. Особое внимание уделяйте случаям, когда процесс w3wp.exe порождает дочерние процессы, такие как cmd.exe, powershell.exe или whoami.exe.

Get-WinEvent -FilterHashtable @{LogName='Security';ID=4688} | Where-Object {$_.Message -match 'w3wp.exe'}