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) разчитат на контейнера 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 г., ако ключът от системния регистър не е конфигуриран, актуализацията автоматично ще отстрани незащитените ACL. За да се отпишете от автоматичното отстраняване на грешки, задайте ключа от системния регистър на 0.

Windows Server 2012 и Windows Server 2012 R2
  1. Предоставяне на разрешения за отстраняване на проблеми на акаунт за услуга AD FS вижте темата за Windows Server 2012 и Windows Server 2012 R2 в раздела "Лечение при включване".

  2. След това се запишете за отстраняването на грешки, като зададете ключа от системния регистър RemediateDkmAcl на 1.

Очаквани промени в състоянието на защита

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

"главница" Права на достъп
Domain Admins Общо всички (пълен контрол)
Корпоративни администратори Общо всички (пълен контрол)
Система Общо всички (пълен контрол)
Акаунт за услуга AD FS четене, писане, създаване на дете, писане на собственик, изтриване на дърво

Забележка Наследяването се забранява и всички наследени ACEs се отхвърлят. Премахват се всички други изрично разрешени 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. Grant explicit Allow ACEs for 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
Текст на събитие Фоновата задача за ACL на DKM прегледа ACL на контейнера за подсилване на защитата.
Контейнерът има правилните настройки и не се изискват допълнителни действия.

DN на контейнера:
<DN>
ИД на събитие: 1134 – Грешка при откриване
Информация Детайли
Регистър на събитията AD FS/Администрация
Тип събитие Грешка
Източник на събитие AD FS
ИД на събитие 1134
Текст на събитие Фонова задача за проверка на ACL на контейнер AD FS DKM откри грешка.

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>

Подробности за изключения:
<изключение>