CVE-2022-38028

Microsoft Windows

ВЕРОЯТНОСТЬ 5.0%

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

2024-04-23

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

Microsoft Windows Print Spooler service contains a privilege escalation vulnerability. An attacker may modify a JavaScript constraints file and execute it with SYSTEM-level permissions.

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

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

Уязвимость CVE-2022-38028 связана с механизмом обработки файлов ограничений JavaScript (JavaScript constraints files) в службе печати Microsoft Windows Print Spooler. Проблема заключается в некорректном управлении правами доступа к этим файлам. Злоумышленник, имеющий доступ к системе с низкими привилегиями, может модифицировать или подменить такой файл. Поскольку служба Print Spooler работает с максимальными правами в системе, выполнение вредоносного JavaScript-кода происходит от имени учетной записи SYSTEM, что приводит к полному захвату контроля над узлом.

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

Основным способом устранения уязвимости является установка официальных обновлений безопасности Microsoft от октября 2022 года (или более поздних кумулятивных обновлений).

  1. Проверьте текущую версию ОС и наличие установленных патчей.
  2. Запустите поиск обновлений через Центр обновления Windows или используйте PowerShell для установки специфичного KB (Knowledge Base) в зависимости от версии вашей ОС (например, KB5018410 для Windows 10 или KB5018418 для Windows 11).

Для принудительного запуска поиска обновлений через PowerShell:

Install-Module PSWindowsUpdate
Get-WindowsUpdate -Install -AcceptAll -AutoReboot

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

Если немедленная установка патчей невозможна, необходимо минимизировать поверхность атаки путем отключения службы Print Spooler или ограничения её функционала.

  1. Полная остановка и отключение службы Print Spooler (рекомендуется для серверов, не выполняющих роль серверов печати):
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled

  1. Отключение возможности удаленной печати через групповые политики (GPO): Перейдите в Computer Configuration -> Administrative Templates -> Printers и установите значение Disabled для параметра Allow Print Spooler to accept client connections.

  2. Ограничение прав доступа к директории, где хранятся драйверы и файлы конфигурации (требует осторожности, чтобы не нарушить работу легитимных принтеров):

icacls "C:\Windows\System32\spool\drivers" /inheritance:r /grant:r "Administrators:(OI)(CI)F" /grant:r "SYSTEM:(OI)(CI)F"