CVE-2020-0618

Microsoft SQL Server

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

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

2024-09-18

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

Microsoft SQL Server Reporting Services contains a deserialization vulnerability when handling page requests incorrectly. An authenticated attacker can exploit this vulnerability to execute code in the context of the Report Server service account.

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

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

CVE-2020-0618 — это критическая уязвимость в Microsoft SQL Server Reporting Services (SSRS), связанная с небезопасной десериализацией данных. Проблема возникает при некорректной обработке параметров в HTTP-запросах к страницам отчетов.

Авторизованный злоумышленник может отправить специально сформированный запрос, содержащий сериализованный объект. При попытке сервера десериализовать этот объект происходит выполнение произвольного кода (RCE) в контексте учетной записи, под которой запущен сервис Report Server. Это может привести к полному захвату сервера базы данных.

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

Основным способом устранения уязвимости является установка соответствующих обновлений безопасности (Security Updates), выпущенных Microsoft для конкретных версий SQL Server.

  1. Определите текущую версию и номер сборки (Build Number) вашего SQL Server:
Invoke-Sqlcmd -Query "SELECT @@VERSION;"

  1. Скачайте и установите пакет обновления в соответствии с вашей версией:

  2. SQL Server 2012 Service Pack 4 (QDR): Обновление KB4535281.

  3. SQL Server 2014 Service Pack 3 (QDR): Обновление KB4535282.
  4. SQL Server 2016 Service Pack 2 (CU): Обновление KB4532098.
  5. SQL Server 2016 Service Pack 2 (GDR): Обновление KB4535288.
  6. SQL Server 2017 (CU): Обновление KB4532097.
  7. SQL Server 2017 (GDR): Обновление KB4535289.

  8. После установки обновлений перезапустите службы SQL Server Reporting Services:

Restart-Service -Name "ReportServer"

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

Если немедленная установка патчей невозможна, рекомендуется принять следующие меры для снижения риска:

  1. Ограничение прав доступа: Пересмотрите список пользователей, имеющих доступ к интерфейсу Reporting Services. Уязвимость требует аутентификации, поэтому минимизация круга лиц с правами доступа снижает поверхность атаки.

  2. Использование принципа минимальных привилегий: Убедитесь, что служба SSRS запущена от имени учетной записи с минимально необходимыми правами в системе (Managed Service Account), чтобы ограничить ущерб в случае эксплуатации RCE.

  3. Сетевая сегментация: Ограничьте доступ к портам Reporting Services (по умолчанию TCP 80/443) с помощью межсетевого экрана, разрешив подключения только из доверенных сегментов сети.

  4. Мониторинг логов: Настройте аудит HTTP-запросов к серверу отчетов и отслеживайте подозрительные POST-запросы к страницам ReportServer/Pages/ReportViewer.aspx и Reports/Pages/Folder.aspx.