CVE-2026-56155: усиление защиты ACL распределенного диспетчера ключей AD FS

Применяется к
Windows Server 2012 ESU Windows Server 2012 R2 ESU Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server, version 23H2 Windows Server 2025

Примечание

Исходная дата публикации: 14 июля 2026 г.
Идентификатор базы знаний: 5121391

Сводка

Список контроль доступа (ACL) в контейнере распределенного диспетчера ключей (DKM) переходит на первый этап усиления защиты, начиная с обновления системы безопасности Windows 14 июля 2026 г. Эти усилия по повышению защиты предназначены для повышения привилегий (EOP), которое может возникнуть из-за уязвимости, описанной в документе CVE-2026-56155.

Таким образом, службы федерации Active Directory (AD FS) (AD FS) использует контейнер DKM для хранения симметричного ключа, используемого для защиты сертификатов подписывания маркеров и шифрования токенов для закрытых ключей. Если список ACL контейнера слишком разрешительный, злоумышленник с доступом на чтение к материалу ключа DKM может расшифровать закрытые ключи подписывания маркеров.

Защита от этой уязвимости начинается с режима аудита, который включает автоматическое обнаружение небезопасных конфигураций ACL контейнеров DKM. Дополнительный механизм исправления согласия на включение помогает администраторам усилить разрешения контейнера DKM. Дальнейшее усиление защиты будет следовать в будущих обновлениях.

Своевременные действия

Чтобы защитить среду, выполните следующие действия.

  1. Установите обновление для системы безопасности от 14 июля 2026 г. или более позднюю версию windows на всех серверах AD FS.

  2. После установки служба AD FS будет выполнять аудит списка ACL контейнера DKM при каждом запуске службы и каждые 24 часа после этого. Просмотрите журнал событий AD FS Администратор для события с идентификатором 1132, который указывает, что разрешения контейнера DKM требуют внимания. Обратите внимание, что никакие изменения не вносятся автоматически.

  3. Если отображается идентификатор события 1132, выполните действия для конкретной платформы, соответствующие вашей версии Windows Server.

Windows Server 2016 и более поздних версий
  1. Согласитесь на исправление, задав для раздела реестра RemediateDkmAclзначение 1. Дополнительные сведения см. в разделе Windows Server 2016 и более поздних версий в разделе "Согласие на исправление".

  2. К 13 октября 2026 г., если раздел реестра не настроен, обновление автоматически исправит небезопасные списки управления доступом. Чтобы отказаться от автоматического исправления, задайте для раздела реестра значение 0.

Windows Server 2012 и Windows Server 2012 R2
  1. Предоставьте учетной записи службы AD FS разрешения на исправление. См. раздел Windows Server 2012 и Windows Server 2012 R2 в разделе Согласие на исправление.

  2. После этого согласитесь на исправление, задав для раздела реестра RemediateDkmAclзначение 1.

Ожидаемые изменения безопасного состояния

После исправления доступ к контейнеру DKM будут иметь только следующие субъекты:

Первичное Права доступа
Администраторы домена Универсальные все (полный доступ)
Администраторы предприятия Универсальные все (полный доступ)
Система Универсальные все (полный доступ)
Учетная запись службы AD FS Чтение, запись, создание дочернего элемента, запись владельца, удаление дерева

Примечание Наследование отключено, а все унаследованные ACE отбрасываются. Все другие явные разрешения ACE, отсутствуют в списке выше, удаляются

Управление этим изменением

Режим аудита (июль 2026 г.)

После установки обновления за июль 2026 г. обнаружение автоматически запускается через минуту после запуска службы AD FS, а затем каждые 24 часа после этого. Проверьте журнал событий AD FS/Администратор на наличие следующих событий.

Идентификатор события Уровень Значение
1132 Предупреждение Список ACL контейнера DKM не соответствует ожидаемому защищенному состоянию. Просмотрите список ACL.
1133 Сведения Список ACL контейнера DKM находится в ожидаемом защищенном состоянии. Никаких действий не требуется.
1134 Ошибка Задача обнаружения обнаружила ошибку (например, сбой подключения LDAP).

Примечание Автоматические изменения списка ACL в режиме аудита не вносятся.

Согласие на исправление

Важно

Этот раздел, метод или задача содержит сведения об изменении реестра. Однако при неправильном изменении реестра могут возникнуть серьезные проблемы. Поэтому будьте внимательны, выполняя описанные действия. Для дополнительной защиты создайте резервную копию реестра, прежде чем менять его. Тогда в случае возникновения проблемы вы сможете восстановить реестр. Дополнительные сведения о резервном копировании и восстановлении реестра см. в статье Резервное копирование и восстановление реестра в Windows.

Используйте приведенные ниже рекомендации по исправлению для конкретной платформы.

Windows Server 2016 и более поздних версий

Мы настоятельно рекомендуем администраторам устранить неполадки на этапе режима аудита, чтобы выявить и устранить проблемы совместимости до начала принудительного применения в октябре 2026 г. Чтобы включить исправление, задайте следующий раздел реестра на любом сервере AD FS в ферме.

Информация Подробности
Раздел реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS
Значение: RemediateDkmAcl
Тип: DWORD
Данные: 1

После установки раздела реестра выполните следующие действия:

  • Подождите до 24 часов для следующего цикла обнаружения или

  • Перезапустите службу AD FS, чтобы быстрее активировать исправление

При успешном исправлении событие 1135 (сведения) регистрируется в предыдущем ACL в формате SDDL.

Windows Server 2012 и Windows Server 2012 R2

Для этих платформ предоставьте необходимые разрешения учетной записи службы AD FS, выполнив приведенные ниже действия на любом сервере AD FS в ферме, прежде чем включать реестр RemediateDkmAcl . В противном случае попытки исправления завершатся ошибкой.

  1. Определите DN контейнера DKM:

    $dkmContainerDn = (Get-AdfsProperties).CertificateSharingContaine
    $dkmContainerDn
    
  2. Определите учетную запись службы AD FS:

    $serviceAccount = (Get-CimInstance Win32_Service -Filter "Name='adfssrv'").StartName
    $serviceAccount
    
  3. Предоставьте явное разрешение ACE для WriteOwner и WriteDacl:

    $sid = (New-Object System.Security.Principal.NTAccount($serviceAccount)).Translate([System.Security.Principal.SecurityIdentifier]) 
    $entry = New-Object System.DirectoryServices.DirectoryEntry("LDAP://$dkmContainerDn") 
    $rule = New-Object System.DirectoryServices.ActiveDirectoryAccessRule( 
     $sid, 
     ([System.DirectoryServices.ActiveDirectoryRights]::WriteOwner -bor [System.DirectoryServices.ActiveDirectoryRights]::WriteDacl), 
     [System.Security.AccessControl.AccessControlType]::Allow, 
     [System.DirectoryServices.ActiveDirectorySecurityInheritance]::All 
    ) 
    $entry.ObjectSecurity.AddAccessRule($rule) 
    $entry.CommitChanges() 
    $entry.Close() 
    
  4. После предоставления необходимых разрешений задайте следующий раздел реестра на любом сервере AD FS в ферме, чтобы включить исправление.

    Информация Подробности
    Раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS
    Значение: RemediateDkmAcl
    Тип: DWORD
    Данные: 1
    Примечание. Если "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS" отсутствует, сначала создайте ключ "ADFS", а затем задайте файл RemediateDkmAcl под этим ключом.
  5. После установки раздела реестра выполните следующие действия:

  • Подождите до 24 часов для следующего цикла обнаружения или

  • Перезапустите службу AD FS, чтобы быстрее активировать исправление

При успешном исправлении событие 1135 (сведения) регистрируется в предыдущем ACL в формате SDDL.

Сохранение предыдущего ФАЙЛА SDDL (рекомендуется)

В качестве меры предосторожности рекомендуется сохранить предыдущий ACL (SDDL) от события 1135 после успешного исправления. Хотя предыдущий ACL, как ожидается, не потребуется в большинстве случаев (так как исходные разрешения были небезопасными), его доступность обеспечивает безопасность для любых непредвиденных проблем совместимости.

Примечание Журналы событий могут перевернуться из-за ограничений размера. Если вам потребуется предыдущий SDDL в будущем и событие было перезаписано, оно будет окончательно потеряно.

Чтобы сохранить SDDL в файл, выполните следующие действия:

# Run this on the AD FS server immediately after remediation (event 1135) 
$event = Get-WinEvent -FilterHashtable @{LogName='AD FS/Admin'; Id=1135} -MaxEvents 1 
$event.Message | Out-File "C:\ADFSBackup\dkm-acl-previous-sddl.txt

Восстановление предыдущего списка ACL

Если после исправления возникли проблемы и необходимо отменить изменения в предыдущий список ACL:


# Restore the full security descriptor (DACL + Owner + SACL) from the saved SDDL 
$dn = "<Container DN from event 1135 or C:\ADFSBackup\dkm-acl-previous-sddl.txt>" 
$sddl = "<Previous ACL (SDDL) value from event 1135 or C:\ADFSBackup\dkm-acl-previous-sddl.txt>” 
 
$entry = New-Object System.DirectoryServices.DirectoryEntry("LDAP://$dn") 
$entry.ObjectSecurity.SetSecurityDescriptorSddlForm($sddl, [System.Security.AccessControl.AccessControlSections]::All) 
$entry.CommitChanges() 
$entry.Close() 

Примечание Для выполнения этой команды требуется, чтобы учетная запись, запустив ее, должна иметь SeSecurityPrivilege (как правило, это есть у администраторов домена). Запустите его из сеанса PowerShell с повышенными привилегиями на компьютере, присоединенном к домену.


Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ADFS" -Name "RemediateDkmAcl" -Value 0 -Type DWord 

После восстановления задайте значение RemediateDkmAcl = 0 , чтобы предотвратить повторное исправление службы в следующем цикле.

Режим принудительного применения (октябрь 2026 г.)

Начиная с обновления за октябрь 2026 г. исправление выполняется по умолчанию без необходимости использования раздела реестра. Поведение эквивалентно набору RemediateDkmAcl = 1 .

Принудительное автоматическое исправление не применяется к Windows Server 2012 или Windows Server 2012 R2. Для этих платформ выполните исправление вручную, выполнив действия, описанные в разделе Windows Server 2012 и Windows Server 2012 R2 в разделе Согласие на исправление.

Отказ от режима принудительного применения (октябрь 2026 г.)

Важно

Этот раздел, метод или задача содержит сведения об изменении реестра. Однако при неправильном изменении реестра могут возникнуть серьезные проблемы. Поэтому будьте внимательны, выполняя описанные действия. Для дополнительной защиты создайте резервную копию реестра, прежде чем менять его. Тогда в случае возникновения проблемы вы сможете восстановить реестр. Дополнительные сведения о резервном копировании и восстановлении реестра см. в статье Резервное копирование и восстановление реестра в Windows.

Если вам нужно отключить автоматическое исправление после обновления за октябрь 2026 г., задайте значение RemediateDkmAcl в реестре.

Информация Подробности
Раздел реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS
Значение: RemediateDkmAcl
Тип: DWORD
Данные: 0

Это явно отключает исправление. Обнаружение (событие 1132) продолжается, поэтому администраторы знают о небезопасном состоянии.

Важно При отказе контейнер DKM остается уязвимым. Используйте его только в том случае, если у вас есть определенные требования к совместимости и вы планируете вручную ужесточить список ACL.

Справочник по событиям

Идентификатор события: 1132 — список ACL контейнера DKM требует проверки
Информация Подробности
Журнал событий AD FS/Администратор
Тип события Предупреждение
Источник события AD FS
Идентификатор события 1132
Текст события AD FS обнаружил, что ACL контейнера диспетчера распределенных ключей (DKM) не соответствует ожидаемому защищенному состоянию. Контейнер DKM хранит симметричные ключи, используемые для защиты материала ключа подписи маркеров.

DN контейнера:
<DN>

Ожидаемое состояние безопасности наследование отключено, и только администраторы домена, администраторы предприятия, SYSTEM и учетная запись службы AD FS имеют доступ.

Действие пользователя
Чтобы исправить это, задайте для раздела реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) значение 1. Служба ужесточит ACL в следующем цикле обнаружения (в течение 24 часов) или перезапустит службу, чтобы быстрее активировать исправление. Инструкции см. в разделе https://go.microsoft.com/fwlink/?linkid=2369796.

Дополнительные данные

Наследование отключено: <Да/Нет>

Текущий список ACL (SDDL):
<SDDL>
Идентификатор события: 1133 — список ACL контейнера DKM работоспособен
Информация Подробности
Журнал событий AD FS/Администратор
Тип события Сведения
Источник события AD FS
Идентификатор события 1133
Текст события Фоновая задача DKM ACL проверила список ACL контейнера для усиления безопасности.
Контейнер имеет правильные параметры, и никаких дальнейших действий не требуется.

DN контейнера:
<DN>
Идентификатор события: 1134 — ошибка обнаружения
Информация Подробности
Журнал событий AD FS/Администратор
Тип события Ошибка
Источник события AD FS
Идентификатор события 1134
Текст события Список ACL контейнера DKM AD FS проверка фоновой задаче обнаружил ошибку.

DN контейнера:
<DN>

Дополнительные данные
Сведения об исключении:
<исключение>

Действие пользователя
Дополнительные сведения см. в журналах отладки AD FS. Убедитесь, что учетная запись службы AD FS имеет доступ к контейнеру группы DKM в Active Directory.
Идентификатор события: 1135 — исправление успешно
Информация Подробности
Журнал событий AD FS/Администратор
Тип события Сведения
Источник события AD FS
Идентификатор события 1135
Текст события AD FS успешно ужесточил ACL контейнера диспетчера распределенных ключей (DKM).

DN контейнера:
<DN>

Список ACL контейнера теперь предоставляет доступ только администраторам домена, администраторам предприятия, SYSTEM и учетной записи службы AD FS. Наследование заблокировано, а все остальные разрешения удалены.

Примечание: Автоматическое создание не будет выполняться повторно, пока список ACL соответствует базовому плану. Если вы хотите окончательно отказаться от автоматического восстановления, даже если список ACL будет отклоняться в будущем, установите для параметра HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) значение 0.

Предыдущий список ACL включен в формат SDDL ниже. Если вам нужно восстановить исходные разрешения, см. раздел https://go.microsoft.com/fwlink/?linkid=2369796

Предыдущий список ACL (SDDL):
<SDDL>
Идентификатор события: 1136 — сбой исправления
Информация Подробности
Журнал событий AD FS/Администратор
Тип события Ошибка
Источник события AD FS
Идентификатор события 1136
Текст события AD FS попыталась исправить список ACL контейнера DKM, но обнаружила ошибку.

DN контейнера:
<DN>

Действие пользователя
Служба повторит исправление в следующем цикле обнаружения (в течение 24 часов). Если эта ошибка сохраняется, вы можете вручную ужесточить список ACL с помощью adsI Edit или PowerShell. Чтобы отключить автоматическое восстановление, установите для параметра HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) значение 0. Инструкции см. в разделе https://go.microsoft.com/fwlink/?linkid=2369796

Текущий список ACL (SDDL):
<SDDL>

Сведения об исключении:
<исключение>