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 Federation Services Служба об'єднання AD FS (AD FS) використовує контейнер DKM для зберігання симетричних ключів, які використовуються для захисту підпису маркера та сертифікатів шифрування маркерів для закритих ключів. Якщо ACL контейнера надмірно дозвільний, зловмисник, який має доступ до читання матеріалу ключа DKM, може розшифрувати приватні ключі, що підписують токен.

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

Дійте рішучо

Щоб захистити навколишнє середовище, виконайте такі дії:

  1. Інсталюйте оновлення системи безпеки Windows від 14 липня 2026 р . або пізнішу версію на всіх серверах AD FS.

  2. Після інсталяції служба AD FS перевірятиме контейнер ACL DKM щоразу під час запуску служби та кожні 24 години після цього. Перегляньте журнал подій AD FS AdminAdminAdmin для події з ідентифікатором 1132, який вказує на те, що дозволи контейнера DKM потребують уваги. Зверніть увагу, що жодні зміни не вносяться автоматично.

  3. Якщо відображається ідентифікатор події 1132, виконайте дії відповідно до платформи відповідно до вашої версії Windows Server.

Windows ServerWindows Server 2016 і пізніших версій
  1. Щоб приєднатися до виправлення, установіть для розділу реєстру RemediateDkmAcl значення 1. Докладні відомості див. в розділі про Windows Server 2016 і пізніші версії в розділі "Виправлення за згодою".

  2. Якщо розділ реєстру не буде налаштовано, оновлення автоматично виправить незахищені списки керування доступом (ACL) до 13 жовтня 2026 року. Щоб відмовитися від автоматичного виправлення, установіть для розділу реєстру значення 0.

Windows ServerWindows Server 2012 та Windows ServerWindows 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/AdminAdmin на наявність наведених нижче подій.

Ідентифікатор події Level (Рівень) Значення
1132 Попередження Контейнер ACL DKM не відповідає очікуваному захищеному стану. Перегляньте ACL.
1133 Відомості Контейнер DKM ACL знаходиться в очікуваному безпечному стані. Не треба нічого робити.
1134 Помилка Сталася помилка завдання виявлення (наприклад, помилка підключення LDAP).

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

Виправлення за допомогою згоди

Важливо

Цей розділ, метод або завдання містить відомості про те, як змінити реєстр. Проте неправильне змінення реєстру може спричинити серйозні проблеми. Для додаткового захисту обов’язково зробіть резервну копію реєстру, перш ніж вносити будь-які зміни. Для більшої безпеки створіть резервну копію реєстру, перш ніж вносити зміни до нього. Це дасть змогу відновити реєстр, якщо виникнуть проблеми. Докладні відомості про резервне копіювання та відновлення реєстру в ОС Windows див. в цій статті.

Ознайомтеся з наведеними нижче вказівками щодо виправлення неполадок для конкретної платформи.

Windows ServerWindows Server 2016 і пізніших версій

Ми наполегливо рекомендуємо адміністраторам вжити заходів для виявлення та вирішення проблем сумісності до початку застосування в жовтні 2026 року. Щоб увімкнути виправлення, установіть наведений нижче розділ реєстру на будь-якому сервері AD FS у фермі.

Інформація Деталі
Розділ реєстру. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS
Value: (Значення): RemediteDkmAcl
Тип: DWORD
Дані: 1

Після налаштування розділу реєстру:

  • Зачекайте до 24 годин до наступного циклу виявлення, або

  • Перезапустіть службу AD FS, щоб швидше ініціювати виправлення

Після успішного виправлення подія 1135 (Відомості) реєструється разом із попереднім ACL у форматі SDDL.

Windows ServerWindows Server 2012 та Windows ServerWindows Server 2012 R2

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

  1. Ідентифікуємо контейнер ДКМ ДН:

    $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
    Value: (Значення): RemediteDkmAcl
    Тип: 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 ServerWindows Server 2012 або Windows ServerWindows Server 2012 R2. Для таких платформ виконуйте виправлення вручну, дотримуючись інструкцій, описаних у розділі "Виправлення" Windows Server 2012 і Windows Server 2012 R2.

Вихід із режиму примусового застосування (жовтень 2026 р.)

Важливо

Цей розділ, метод або завдання містить відомості про те, як змінити реєстр. Проте неправильне змінення реєстру може спричинити серйозні проблеми. Для додаткового захисту обов’язково зробіть резервну копію реєстру, перш ніж вносити будь-які зміни. Для більшої безпеки створіть резервну копію реєстру, перш ніж вносити зміни до нього. Це дасть змогу відновити реєстр, якщо виникнуть проблеми. Докладні відомості про резервне копіювання та відновлення реєстру в ОС Windows див. в цій статті.

Якщо потрібно вимкнути автоматичне виправлення після оновлення за жовтень 2026 р., установіть значення RemediteDkmAcl у реєстрі.

Інформація Деталі
Розділ реєстру. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS
Value: (Значення): RemediteDkmAcl
Тип: DWORD
Дані: 0

Це явно вимикає засоби виправлення. Виявлення (подія 1132) продовжує спрацьовувати, тому адміністратори знають про незахищений стан.

Важливо Відмова робить ваш контейнер DKM вразливим. Використовуйте цей елемент, якщо у вас є певні вимоги до сумісності та ви плануєте вручну посилити ACL.

Посилання на подію

Event ID: 1132 — контейнер DKM ACL потребує перевірки
Інформація Деталі
Журнал подій AD FS/AdminAdmin
Тип події Попередження
Джерело події 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>
Event ID (Ідентифікатор події): 1133 — контейнер DKM ACL справний
Інформація Деталі
Журнал подій AD FS/AdminAdmin
Тип події Відомості
Джерело події AD FS
Ідентифікатор події 1133
Текст події Фонове завдання DKM ACL перевірило контейнер ACL на предмет посилення безпеки.
Контейнер має правильні налаштування, і ніяких подальших дій робити не потрібно.

Контейнер DN:
<DN>
ID події: 1134 — Помилка виявлення
Інформація Деталі
Журнал подій AD FS/AdminAdmin
Тип події Помилка
Джерело події AD FS
Ідентифікатор події 1134
Текст події Помилка фонового завдання перевірки контейнера AD FS DKM.

Контейнер DN:
<DN>

Додаткові дані
Відомості про виняток:
<виняток>

Дії користувача
Перегляньте журнали налагодження AD FS, щоб дізнатися більше. Переконайтеся, що обліковий запис служби AD FS має доступ до групового контейнера DKM у службі Active Directory.
Ідентифікатор події: 1135 — виправлення успішно виконано
Інформація Деталі
Журнал подій AD FS/AdminAdmin
Тип події Відомості
Джерело події AD FS
Ідентифікатор події 1135
Текст події Служба AD FS успішно посилила використання контейнера розподіленого диспетчера ключів (DKM) ACL.

Контейнер 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/AdminAdmin
Тип події Помилка
Джерело події AD FS
Ідентифікатор події 1136
Текст події Служба AD FS спробувала виправити проблему з контейнером DKM ACL, але зіткнулася з помилкою.

Контейнер DN:
<DN>

Дії користувача
Служба повторить спробу виправлення під час наступного циклу виявлення (протягом 24 годин). Якщо ця помилка не зникає, можна вручну посилити ACL за допомогою ADSI Edit або PowerShell. Щоб вимкнути автовиправлення, установіть для параметра HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) значення 0. Докладніші відомості див. в статті https://go.microsoft.com/fwlink/?linkid=2369796

Поточний ACL (SDDL):
<SDDL>

Відомості про виняток:
<виняток>