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.
- Определите текущую версию и номер сборки (Build Number) вашего SQL Server:
Invoke-Sqlcmd -Query "SELECT @@VERSION;"
-
Скачайте и установите пакет обновления в соответствии с вашей версией:
-
SQL Server 2012 Service Pack 4 (QDR): Обновление KB4535281.
- SQL Server 2014 Service Pack 3 (QDR): Обновление KB4535282.
- SQL Server 2016 Service Pack 2 (CU): Обновление KB4532098.
- SQL Server 2016 Service Pack 2 (GDR): Обновление KB4535288.
- SQL Server 2017 (CU): Обновление KB4532097.
-
SQL Server 2017 (GDR): Обновление KB4535289.
-
После установки обновлений перезапустите службы SQL Server Reporting Services:
Restart-Service -Name "ReportServer"
Временные меры
Если немедленная установка патчей невозможна, рекомендуется принять следующие меры для снижения риска:
-
Ограничение прав доступа: Пересмотрите список пользователей, имеющих доступ к интерфейсу Reporting Services. Уязвимость требует аутентификации, поэтому минимизация круга лиц с правами доступа снижает поверхность атаки.
-
Использование принципа минимальных привилегий: Убедитесь, что служба SSRS запущена от имени учетной записи с минимально необходимыми правами в системе (Managed Service Account), чтобы ограничить ущерб в случае эксплуатации RCE.
-
Сетевая сегментация: Ограничьте доступ к портам Reporting Services (по умолчанию TCP 80/443) с помощью межсетевого экрана, разрешив подключения только из доверенных сегментов сети.
-
Мониторинг логов: Настройте аудит HTTP-запросов к серверу отчетов и отслеживайте подозрительные POST-запросы к страницам
ReportServer/Pages/ReportViewer.aspxиReports/Pages/Folder.aspx.