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 до версий, в которых данная ошибка была исправлена.
- Определите текущую версию Cityworks через панель администрирования или файл
version.txtв корневом каталоге приложения. - Скачайте соответствующий патч или обновленный установщик с официального портала поддержки Trimble (MyTrimble).
- Установите обновления для следующих веток (или более новые):
- Cityworks 23.x (обновите до актуального сервис-пака, выпущенного после января 2025 г.)
- Cityworks 15.8.x (примените соответствующий Hotfix)
После установки обновлений перезапустите службы IIS:
iisreset /restart
Временные меры
Если немедленное обновление невозможно, необходимо применить меры по снижению риска (Mitigation), чтобы затруднить эксплуатацию уязвимости:
-
Ограничение прав сервисной учетной записи: Убедитесь, что пул приложений (Application Pool) в IIS работает от имени учетной записи с минимальными привилегиями (Managed Service Account), а не от имени LocalSystem или Administrator.
-
Настройка фильтрации запросов в IIS: Заблокируйте подозрительные POST-запросы, содержащие признаки сериализованных объектов (например, специфические заголовки или маркеры в теле запроса), если это не нарушает работу легитимных функций.
-
Изоляция сервера: Ограничьте доступ к интерфейсу Cityworks с помощью сетевых экранов (Firewall) или VPN, разрешив подключения только доверенным IP-адресам сотрудников.
-
Мониторинг процессов: Настройте аудит создания процессов на сервере IIS. Особое внимание уделяйте случаям, когда процесс
w3wp.exeпорождает дочерние процессы, такие какcmd.exe,powershell.exeилиwhoami.exe.
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4688} | Where-Object {$_.Message -match 'w3wp.exe'}