CVE-2022-38028
Microsoft Windows
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 года (или более поздних кумулятивных обновлений).
- Проверьте текущую версию ОС и наличие установленных патчей.
- Запустите поиск обновлений через Центр обновления Windows или используйте PowerShell для установки специфичного KB (Knowledge Base) в зависимости от версии вашей ОС (например, KB5018410 для Windows 10 или KB5018418 для Windows 11).
Для принудительного запуска поиска обновлений через PowerShell:
Install-Module PSWindowsUpdate
Get-WindowsUpdate -Install -AcceptAll -AutoReboot
Временные меры
Если немедленная установка патчей невозможна, необходимо минимизировать поверхность атаки путем отключения службы Print Spooler или ограничения её функционала.
- Полная остановка и отключение службы Print Spooler (рекомендуется для серверов, не выполняющих роль серверов печати):
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled
-
Отключение возможности удаленной печати через групповые политики (GPO): Перейдите в
Computer Configuration -> Administrative Templates -> Printersи установите значениеDisabledдля параметраAllow Print Spooler to accept client connections. -
Ограничение прав доступа к директории, где хранятся драйверы и файлы конфигурации (требует осторожности, чтобы не нарушить работу легитимных принтеров):
icacls "C:\Windows\System32\spool\drivers" /inheritance:r /grant:r "Administrators:(OI)(CI)F" /grant:r "SYSTEM:(OI)(CI)F"