Patch Tuesday январь 2022: CVE-2022-21857 в Active Directory и приоритизация патчей без простоя
Microsoft закрыла критическую уязвимость в Active Directory и дыру в HTTP.sys. Разбираем, как расставить приоритеты и накатить патчи в корпоративной среде без экстренных окон.
Patch Tuesday январь 2022: Microsoft закрыла CVE-2022-21857 (критическая уязвимость повышения привилегий в Active Directory) и CVE-2022-21907 (RCE в HTTP.sys)
Январский Patch Tuesday оказался плотнее обычного. Microsoft закрыла девяносто с лишним CVE, и среди них две, которые потребовали немедленной реакции - не «запланируем на следующий цикл», а реальных решений прямо сейчас. CVE-2022-21857 в Active Directory и CVE-2022-21907 в HTTP.sys - разные по вектору, но обе попадают в категорию «это не ждёт».
Для нас это стало поводом вслух проговорить то, как мы вообще расставляем приоритеты в потоке патчей. Потому что реальность такова: каждый второй вторник месяца прилетает очередной пакет, и «накатить всё немедленно» - это не стратегия, это путь к сломанному продакшену в пятницу вечером.
Что закрыли
CVE-2022-21857 - повышение привилегий в Active Directory. CVSS 9.0, критическая. Уязвимость позволяет авторизованному пользователю домена получить привилегии уровня Domain Admin в определённых сценариях делегирования Kerberos. Детали Microsoft раскрыла скупо, но формулировка про «определённые конфигурации делегирования» - это сигнал тревоги для любой среды с некоторым историческим багажом: именно там делегирование обычно настраивалось по принципу «лишь бы заработало».
CVE-2022-21907 - удалённое выполнение кода в HTTP.sys через HTTP Trailer Support. Помечена как wormable: при определённых условиях позволяет атаковать без аутентификации через отправку специально сформированного HTTP-запроса. Затрагивает Windows Server 2019 и Windows 10 при включённом HTTP Trailer Support (по умолчанию выключен на Server 2016 и старше, но включён на 2019+).
Как мы расставляем приоритеты
Поток патчей не резиновый - одновременно накатить всё на все системы без риска что-то сломать нельзя. Поэтому схема, которую мы применяем в managed-инфраструктуре, выглядит примерно так:
Первое - оцениваем реальную поверхность атаки, а не абстрактный CVSS. CVE-2022-21907 в HTTP.sys - критическая, но HTTP Trailer Support на большинстве серверов под управлением 2016 выключен по умолчанию. Значит приоритет снижается: патч нужен, но не экстренный. На 2019 - другая история, там включён, патч в первую очередь.
Второе - смотрим на наличие эксплоита. На момент выхода Patch Tuesday ни по CVE-2022-21857, ни по CVE-2022-21907 публичных эксплоитов не было. Это даёт небольшое, но реальное окно. «Небольшое» - потому что reverse engineering патча занимает у исследователей считанные дни.
Третье - отделяем инфраструктурные компоненты от прикладных серверов. Домен-контроллеры - это отдельный разговор. Их нельзя просто перезагрузить в рабочее время, особенно если в домене один-два DC. Значит DC идут в следующее окно обслуживания, но с повышенным приоритетом.
Четвёртое - тестируем на staging перед production. Очевидно, но на практике именно этот шаг срезается под давлением срочности. Январский набор патчей оказался с сюрпризом: KB5009557 на Windows Server 2019 ломал контроллеры домена - Microsoft откатила его и выпустила исправление уже 17 января. Те, кто поставил патч в день выхода на все DC сразу, провели неприятное воскресенье.
Почему именно AD - это неприятно
CVE-2022-21857 задевает там, где больно. AD - сердце инфраструктуры, и уязвимость в механизме делегирования означает, что атакующий с обычными учётными данными пользователя потенциально может добраться до прав Domain Admin. В среде с настроенным unconstrained delegation - а таких сред больше, чем хотелось бы - это становится особенно неприятным сценарием.
Накладывается и то, что патч DC сложнее, чем патч рядового сервера. Нужно окно, нужна репликация, нужен мониторинг SYSVOL и NETLOGON после перезагрузки. В инфраструктурах, где DC виртуализированы на одном гипервизоре - ещё один слой рисков при одновременной перезагрузке.
Наша рекомендация по порядку: сначала патчим DC в тестовом домене (если есть), проверяем репликацию и аутентификацию, затем production - по одному DC с интервалом. Не параллельно.
Mitigation до патча
Для CVE-2022-21907 есть официальный workaround от Microsoft: отключить HTTP Trailer Support через реестр, если немедленный патч невозможен:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
EnableTrailerSupport = 0 (DWORD)
Для CVE-2022-21857 workaround-а нет - только патч. Но Microsoft указывает, что среды без делегирования Kerberos менее подвержены. Проверить текущие настройки делегирования в AD:
Get-ADComputer -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation
Get-ADUser -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation
Объекты с unconstrained delegation - это и потенциальные точки эксплуатации, и кандидаты на ревизию конфигурации независимо от патча.
Где сейчас
По инфраструктурам клиентов мы сейчас в процессе. HTTP.sys-серверы на 2019 - приоритет первый, закрываем в этой неделе. DC - запланированы на ближайшие выходные окна. Параллельно проверяем настройки делегирования там, где AD-конфигурация имеет возраст несколько лет и не пересматривалась.
С Log4Shell, о котором мы писали две недели назад, история ещё не закончена - и теперь поверх неё ложится январский Microsoft-патчинг. Такой вот январь.
- Log4Shell: завершаем январский аудит и считаем хвосты · 7 января 2022
- Открываем 2022-й: матрица зарубежного стека у клиентов и первый вопрос года · 4 января 2022