CVE-2023-29492

Novi Survey Novi Survey

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

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

2023-04-13

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

Novi Survey contains an insecure deserialization vulnerability that allows remote attackers to execute code on the server in the context of the service account.

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

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

CVE-2023-29492 представляет собой критическую уязвимость небезопасной десериализации данных в приложении Novi Survey. Проблема возникает из-за недостаточной проверки входных данных, которые передаются в механизмы десериализации .NET.

Удаленный злоумышленник, не имеющий прав доступа (unauthenticated), может отправить специально сформированный сериализованный объект в HTTP-запросе. При обработке этого объекта сервером происходит выполнение произвольного кода (RCE) в контексте учетной записи, под которой запущен сервис (обычно NetworkService или IIS AppPool). Это позволяет атакующему полностью скомпрометировать сервер, установить вредоносное ПО или получить доступ к базе данных опросов.

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

Основным и рекомендуемым способом устранения уязвимости является обновление программного обеспечения до версии, в которой механизмы десериализации были защищены.

  1. Определите текущую версию Novi Survey через панель администратора или файл web.config.
  2. Скачайте актуальный патч или обновленный установщик с официального портала поддержки Novi Survey (версия 8.11 или выше).
  3. Создайте резервную копию базы данных и файлов приложения.
  4. Выполните обновление, следуя стандартной процедуре инсталляции поверх существующей версии.
  5. Перезапустите IIS для применения изменений:
iisreset /restart

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

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

  1. Ограничьте права доступа сервисной учетной записи, под которой работает пул приложений Novi Survey, используя принцип наименьших привилегий.
  2. Настройте правила Web Application Firewall (WAF) для блокировки подозрительных POST-запросов, содержащих признаки сериализованных объектов .NET (например, заголовки или тела запросов с базовой кодировкой Base64, начинающейся с AAEAAAD/////).
  3. Временно ограничьте доступ к административной панели и API приложения только для доверенных IP-адресов.
  4. Проверьте настройки MachineKey в web.config. Убедитесь, что ключи валидации и расшифровки не являются значениями по умолчанию и надежно защищены:
[Reflection.Assembly]::LoadWithPartialName("System.Web")

  1. Настройте аудит процессов на сервере для обнаружения аномальных дочерних процессов, запускаемых из-под w3wp.exe (например, cmd.exe, powershell.exe, whoami.exe).