CVE-2026-56155: wzmacnianie zabezpieczeń listy ACL kontenera menedżera kluczy rozproszonych w usłudze AD FS

Dotyczy
Windows Server 2012 ESU Windows Server 2012 R2 ESU Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server 2025

Data pierwotnej publikacji: 14 lipca 2026 r
Identyfikator KB: 5121391

W tym artykule

Podsumowanie

Lista Access Control (ACL) w kontenerze Distributed Key Manager (DKM) weszła w pierwszą fazę wzmacniania zabezpieczeń wraz z aktualizacją zabezpieczeń systemu Windows z 14 lipca 2026 r., która wprowadziła automatyczne wykrywanie niezabezpieczonych list ACL i mechanizm korygowania opt-in.

Począwszy od aktualizacji zabezpieczeń systemu Windows z 13 października 2026 r., AD FS domyślnie automatycznie koryguje niezabezpieczone listy ACL kontenera DKM. Administratorzy mogą zrezygnować, ustawiając wartość parametru RemediteDkmAcl na 0. To wzmocnienie zabezpieczeń jest odpowiedzią na podniesienie uprawnień (EOP), które może wynikać z luki w zabezpieczeniach udokumentowanej w CVE-2026-56155 | Luka w zabezpieczeniach usług federacyjnych Active Directory Federation Services związana z podniesieniem uprawnień.

Podsumowując, usługi federacyjne Active Directory Federation Services (AD FS) polegają na kontenerze DKM do przechowywania kluczy symetrycznych używanych do ochrony certyfikatów podpisywania tokenów i szyfrowania tokenów dla kluczy prywatnych. Jeśli lista ACL kontenera jest zbyt permisywna, osoba atakująca z dostępem do odczytu do materiału klucza DKM może odszyfrować klucze prywatne podpisujące tokeny.

powrót do początku

Aktywne działanie

Aby chronić swoje środowisko, wykonaj następujące czynności:

  1. Zainstaluj odpowiednią aktualizację zabezpieczeń systemu Windows wydaną 13 października 2026 r. lub później na wszystkich serwerach AD FS.

Ważne

Przed zainstalowaniem aktualizacji zabezpieczeń ustal, czy chcesz zrezygnować z automatycznego korygowania. Rezygnacja nie jest zalecana, ponieważ pozostawia listę ACL kontenera DKM w niezabezpieczonym stanie.

Jeśli musisz zrezygnować ze względu na określone wymagania dotyczące zgodności, przed zainstalowaniem aktualizacji ustaw wartość rejestru RemediteDkmAcl na 0 na każdym serwerze usług AD FS w farmie. Kontener DKM jest pojedynczym obiektem usługi Active Directory współużytkowanym przez wszystkie serwery usług AD FS w farmie, a zadanie w tle listy ACL DKM jest uruchamiane na każdym serwerze. Jeśli nawet na jednym serwerze usług AD FS brakuje wartości RemediateDkmAcl lub jest ona ustawiona na wartość niezerową, ten serwer może automatycznie korygować listę ACL udostępnionego kontenera DKM po zainstalowaniu aktualizacji.

  1. Po zakończeniu instalacji usługa AD FS przeprowadza inspekcję listy ACL kontenera DKM przy każdym uruchomieniu, a następnie co 24 godziny. Jeśli lista ACL jest niezabezpieczona, usługi AD FS automatycznie podejmują próby korygowania, chyba że parametr RemediateDkmAcl jest ustawiony na 0.

  2. Przejrzyj dziennik zdarzeń administracji usług AD FS pod kątem następujących zdarzeń:

    • Identyfikator zdarzenia: 1133 wskazuje, że lista ACL kontenera DKM jest bezpieczna. Nie trzeba podejmować żadnych dalszych działań.

    • Identyfikator zdarzenia: 1132 wskazuje, że lista ACL kontenera DKM jest niezabezpieczona i zostanie wykonane automatyczne korygowanie. Szczegóły listy ACL są zapisywane w co najmniej jednym kolejnym wpisie o identyfikatorze zdarzenia 510 z tym samym identyfikatorem wystąpienia. Przejrzyj zdarzenia o identyfikatorach 1135, 1136 lub 1137, aby uzyskać wynik korygowania, i na podstawie tego wyniku wykonaj następujące czynności.

    • Identyfikator zdarzenia: 1135 (korygowanie powiodło się) Nie jest wymagane podejmowanie dalszych działań korygujących. Zapisz poprzednią listę ACL z kolejnych wpisów o identyfikatorze zdarzenia 510 zgodnie z opisem w sekcji Zapisywanie poprzedniej biblioteki SDDL.

    • Identyfikator zdarzenia: 1136 (korygowanie nie powiodło się) Przejrzyj kolejne wpisy zdarzenia o identyfikatorze 510 pod kątem bieżącej listy ACL i szczegółów wyjątków, popraw podstawowy błąd, a następnie uruchom ponownie usługę AD FS lub poczekaj na następny cykl wykrywania.

    • Identyfikator zdarzenia: 1137 (zmiana właściciela nie powiodła się) Nadaj uprawnienia WriteOwner i WriteDacl dla konta usługi AD FS, postępując zgodnie ze wskazówkami dotyczącymi przypadku zdarzenia niepowodzenia własności, a następnie uruchom ponownie usługę AD FS lub poczekaj na następny cykl wykrywania.

Zdarzenia listy ACL kontenera DKM w usługach AD FS

Identyfikator zdarzenia Type (Typ) Znaczenie
1132 Ostrzeżenie Lista ACL kontenera DKM nie jest zgodna z oczekiwanym stanem zabezpieczeń. Przejrzyj zdarzenia korygowania 1135, 1136 i 1137.
1133 Informacje Lista ACL kontenera DKM jest w oczekiwanym bezpiecznym stanie. Nie jest wymagane żadne działanie.
1134 Błąd Zadanie wykrywania napotkało błąd (taki jak błąd łączności LDAP). Przejrzyj dzienniki debugowania usług AD FS i popraw podstawowy błąd.
1135 Informacje Korygowanie listy ACL kontenera DKM zostało ukończone pomyślnie. Zapisz poprzednią zawartość SDDL.
1136 Błąd Korygowanie listy ACL kontenera DKM nie powiodło się. Przejrzyj skorelowane wpisy o identyfikatorze zdarzenia 510 oraz ślady debugowania usług AD FS i popraw podstawowy błąd.
1137 Błąd Usługi AD FS nie mogą przejąć własności kontenera DKM, ponieważ konto usługi nie ma wymaganych uprawnień. Udzielanie wymaganych uprawnień
510 Informacje Zawiera listę ACL lub szczegóły wyjątków, które wychodzą poza identyfikatory zdarzeń 1132, 1135 lub 1136. Dopasowywanie wpisów według identyfikatora wystąpienia.

powrót do początku

Oczekiwane zmiany stanu zabezpieczeń

Po skorygowaniu tylko następujący podmiot zabezpieczeń będzie miał dostęp do kontenera DKM:

Kapitał Prawa dostępu
Administratorzy domeny Ogólne wszystkie (pełna kontrola)
Administratorzy przedsiębiorstwa Ogólne wszystkie (pełna kontrola)
Systemowy Ogólne wszystkie (pełna kontrola)
Konto usługi AD FS Odczyt, Zapis, Tworzenie elementu podrzędnego, Zapis właściciela, Usuwanie drzewa

Wskazówka Dziedziczenie jest wyłączone, a wszystkie odziedziczone wpisy ACE są odrzucane. Wszelkie inne jawne wpisy ACE zezwolenia, które nie znajdują się na powyższej liście, zostaną usunięte.

powrót do początku

Rezygnacja z automatycznego korygowania

Ważne

Ta sekcja, metoda lub zadanie zawiera informacje o tym, jak zmienić rejestr. Niepoprawne zmiany rejestru mogą jednak być przyczyną poważnych problemów. Dlatego należy uważnie wykonywać podane czynności. Aby zapewnić dodatkową ochronę, przed zmianą rejestru należy wykonać jego kopię zapasową. Dzięki temu będzie można przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji o tworzeniu kopii zapasowej i przywracaniu rejestru, zobacz Jak wykonać kopię zapasową rejestru i przywrócić go w systemie Windows.

Korygowanie jest domyślnie włączone, gdy brakuje parametru RemediateDkmAcl lub jest on ustawiony na wartość niezerową. Jeśli musisz zrezygnować ze względu na określone wymagania dotyczące zgodności, przed zainstalowaniem aktualizacji ustaw wartość na 0 na każdym serwerze usług AD FS w farmie. Rezygnacja nie jest zalecana, ponieważ pozostawia listę ACL kontenera DKM w niezabezpieczonym stanie.

Informacja Szczegóły
Klucz rejestru: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS
Wartość: RemediateDkmAcl
Rodzaj: DWORD
Dane: 0

powrót do początku

Przypadek zdarzenia niepowodzenia własności (identyfikator zdarzenia 1137)

Identyfikator zdarzenia: 1137 wskazuje, że usługa AD FS nie może przejąć własności kontenera DKM, ponieważ konto usługi nie ma wymaganych uprawnień. Ten stan jest oczekiwany najczęściej w gospodarstwach utworzonych pierwotnie w systemie Windows Server 2012 lub Windows Server 2012 R2. W takim przypadku udziel wymaganych uprawnień do konta usługi AD FS, wykonując poniższe czynności na dowolnym serwerze AD FS w farmie. W przeciwnym razie próby korygowania będą nadal kończyć się niepowodzeniem.

  1. Zidentyfikuj nazwę wyróżniającą kontenera DKM:

    
    $dkmContainerDn = (Get-AdfsProperties).CertificateSharingContainer
    $dkmContainerDn
    
    
  2. Zidentyfikuj konto usługi AD FS:

    
    $serviceAccount = (Get-CimInstance Win32_Service -Filter "Name='adfssrv'").StartName
    $serviceAccount
    
    
  3. Udziel jawnego zezwalania na wpisy ACE dla WriteOwner i 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. Po udzieleniu wymaganych uprawnień:

    • Odczekaj do 24 godzin na kolejny cykl wykrywania
    • Ponowne uruchomienie usługi AD FS w celu szybszego wywołania korygowania

W przypadku pomyślnego korygowania zdarzenie o identyfikatorze 1135 (informacje) jest rejestrowane z poprzednią listą ACL w formacie SDDL.

powrót do początku

Na wszelki wypadek zalecamy zapisanie poprzedniej listy ACL (SDDL) z identyfikatora zdarzenia: 510 wpisów skorelowanych ze zdarzeniem o identyfikatorze 1135 po pomyślnym rozwiązaniu problemu. Identyfikator zdarzenia: 1135 zawiera identyfikator wystąpienia używany do identyfikowania powiązanych wpisów o identyfikatorze zdarzenia: 510. Chociaż nie oczekuje się, że poprzednia lista ACL będzie potrzebna w większości przypadków (ponieważ pierwotne uprawnienia były niezabezpieczone), jej udostępnienie zapewnia siatkę bezpieczeństwa na wypadek nieprzewidzianych problemów ze zgodnością.

Uwaga

Dzienniki zdarzeń mogą się przewracać ze względu na limity rozmiaru. Jeśli w przyszłości będziesz potrzebować poprzedniej nazwy SDDL, a zdarzenie zostało zastąpione, zostanie ono trwale utracone.

Możesz ręcznie skopiować i połączyć SDDL z wpisów o identyfikatorze zdarzenia: 510, które mają identyfikator wystąpienia, do którego odwołuje się identyfikator zdarzenia: 1135. Możesz też użyć następującego skryptu programu PowerShell, aby zebrać skorelowane wpisy o identyfikatorze zdarzenia: 510 i zapisać zawartość SDDL w pliku:


New-Item -ItemType Directory -Path 'C:\ADFSBackup' -Force | Out-Null

$event = Get-WinEvent -FilterHashtable @{
    LogName = 'AD FS/Admin'
    Id      = 1135
} -MaxEvents 1

if ($null -eq $event) {
    throw 'Event ID 1135 was not found.'
}

if ($event.Message -notmatch 'Instance ID:\s*([0-9a-fA-F-]{36})') {
    throw 'Instance ID was not found in Event ID 1135.'
}

$instanceId = $Matches[1]

$details = Get-WinEvent -FilterHashtable @{
    LogName   = 'AD FS/Admin'
    Id        = 510
    StartTime = $event.TimeCreated
    EndTime   = $event.TimeCreated.AddMinutes(5)
} -ErrorAction SilentlyContinue |
    Where-Object { $_.Message -like "*$instanceId*" } |
    Sort-Object RecordId |
    ForEach-Object {
        if ($_.Message -match '(?s)Details:\s*(.*)$') {
            $Matches[1]
        }
    }

if (-not $details) {
    throw "No Event ID 510 entries were found for Instance ID $instanceId."
}

[System.IO.File]::WriteAllText('C:\ADFSBackup\dkm-acl-previous-sddl.txt', ($details -join '').TrimEnd())

powrót do początku

Jak przywrócić poprzednią listę ACL

Jeśli po korygowaniu wystąpią problemy i musisz przywrócić poprzednią listę 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() 

Uwaga

To polecenie wymaga, aby uruchomione z niego konto miało uprawnienia SeSecurityPrivilege (zazwyczaj mają je administratorzy domeny). Uruchom to z sesji programu PowerShell z podwyższonym poziomem uprawnień na maszynie przyłączonej do domeny.


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

Po przywróceniu ustaw wartość RemediateDkmAcl = 0 na każdym serwerze usług AD FS w farmie, aby zapobiec ponownemu korygowaniu przez usługę w następnym cyklu.

powrót do początku

Odwołania do zdarzeń

Identyfikator zdarzenia: 1132 — kontener DKM Lista ACL wymaga sprawdzenia
Informacja Szczegóły
Dziennik zdarzeń AD FS/Administracja
Typ zdarzenia Ostrzeżenie
Źródło zdarzenia AD FS
Identyfikator zdarzenia 1132
Tekst zdarzenia Usługi AD FS wykryły, że lista ACL kontenera Menedżera kluczy rozproszonych (DKM) nie jest zgodna z oczekiwanym stanem zabezpieczeń. Kontener DKM przechowuje klucze symetryczne używane do ochrony materiału klucza podpisywania tokenów.

Nazwa wyróżniająca kontenera:
<DN>

Oczekiwanym bezpiecznym stanem jest wyłączone dziedziczenie i dostęp mają tylko administratorzy domeny, administratorzy przedsiębiorstwa, SYSTEM i konto usługi AD FS.

Usługi AD FS automatycznie spróbują rozwiązać problem z listą ACL. Korygowanie jest uruchamiane natychmiast, a następnie co 24 godziny, dopóki lista ACL nie będzie zgodna z oczekiwanym stanem bezpieczeństwa. Zobacz zdarzenie 1135 (korygowanie powiodło się) lub zdarzenie 1136/1137 (korygowanie nie powiodło się), aby uzyskać wynik.

Jeśli chcesz zrezygnować z autoremediacji, ustaw dla HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) wartość 0. Aby uzyskać wskazówki, zobacz https://go.microsoft.com/fwlink/?linkid=2369796.

Dodatkowe dane

Dziedziczenie wyłączone: <Tak/Nie>

Bieżąca lista ACL (SDDL):
Zobacz wpisy zdarzenia 510 z identyfikatorem wystąpienia: <Identyfikator wystąpienia>
Identyfikator zdarzenia: 1133 — lista ACL kontenera DKM jest w dobrej kondycji
Informacja Szczegóły
Dziennik zdarzeń AD FS/Administracja
Typ zdarzenia Informacje
Źródło zdarzenia AD FS
Identyfikator zdarzenia 1133
Tekst zdarzenia Zadanie w tle listy ACL DKM przejrzało listę ACL kontenera pod kątem wzmacniania zabezpieczeń.

Kontener ma poprawne ustawienia i nie są wymagane żadne dalsze działania.

Nazwa wyróżniająca kontenera:
<DN>
Identyfikator zdarzenia: 1134 — Błąd wykrywania
Informacja Szczegóły
Dziennik zdarzeń AD FS/Administracja
Typ zdarzenia Błąd
Źródło zdarzenia AD FS
Identyfikator zdarzenia 1134
Tekst zdarzenia Zadanie sprawdzania w tle listy ACL kontenera DKM kontenera usług AD FS napotkało błąd.

Nazwa wyróżniająca kontenera:
<DN>

Dodatkowe dane
Szczegóły wyjątku:
<wyjątek>

Działanie użytkownika
Aby uzyskać więcej informacji, przejrzyj dzienniki debugowania usług AD FS. Upewnij się, że konto usługi AD FS ma dostęp do kontenera grupy DKM w usłudze Active Directory.
Identyfikator zdarzenia: 1135 — Korygowanie powiodło się
Informacja Szczegóły
Dziennik zdarzeń AD FS/Administracja
Typ zdarzenia Informacje
Źródło zdarzenia AD FS
Identyfikator zdarzenia 1135
Tekst zdarzenia Usługi AD FS pomyślnie wzmocniły listę ACL kontenera menedżera kluczy rozproszonych (DKM).

Nazwa wyróżniająca kontenera:
<DN>

Lista ACL kontenera udziela teraz dostępu tylko administratorom domeny, administratorom przedsiębiorstwa, SYSTEM i kontu usługi AD FS. Dziedziczenie zostało zablokowane, a wszystkie inne uprawnienia zostały usunięte.

Uwaga: Automatyczne korygowanie nie zostanie ponownie uruchomione, gdy lista ACL jest zgodna z linią bazową. Jeśli chcesz trwale zrezygnować z autoremediacji, nawet jeśli lista ACL będzie się dryfować w przyszłości, ustaw HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) wartość 0.

Poprzednia lista ACL jest zgodna z poniższym formatem SDDL. Jeśli chcesz przywrócić pierwotne uprawnienia, zobacz https://go.microsoft.com/fwlink/?linkid=2369796

Dodatkowe dane

Poprzednia lista ACL (SDDL):
Zobacz wpisy zdarzenia 510 z identyfikatorem wystąpienia: <Identyfikator wystąpienia>
Identyfikator zdarzenia: 1136 — Korygowanie nie powiodło się
Informacja Szczegóły
Dziennik zdarzeń AD FS/Administracja
Typ zdarzenia Błąd
Źródło zdarzenia AD FS
Identyfikator zdarzenia 1136
Tekst zdarzenia Usługi AD FS podjęły próbę naprawienia listy ACL kontenera Menedżera kluczy rozproszonych (DKM), ale nie udało się.

Nazwa wyróżniająca kontenera:
<DN>

Narzędzie User ActionAutoremediation ponowi próbę w następnym cyklu wykrywania (w ciągu 24 godzin). Jeśli wolisz ręcznie naprawić listę ACL, przejrzyj i popraw wpisy ACE w kontenerze grupy DKM. Dostęp powinni mieć tylko administratorzy domeny, administratorzy przedsiębiorstwa, SYSTEM i konto usługi AD FS.

Aby wyłączyć automatyczne korygowanie, ustaw dla HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) wartość 0.

Aby uzyskać wskazówki, zobacz https://go.microsoft.com/fwlink/?linkid=2369796

Dodatkowe dane

Bieżąca lista ACL (SDDL) i szczegóły wyjątku:
Zobacz wpisy zdarzenia 510 z identyfikatorem wystąpienia: <Identyfikator wystąpienia>
Identyfikator zdarzenia: 1137 — Błąd zmiany właściciela
Informacja Szczegóły
Dziennik zdarzeń AD FS/Administracja
Typ zdarzenia Błąd
Źródło zdarzenia AD FS
Identyfikator zdarzenia 1137
Tekst zdarzenia Usługi AD FS podjęły próbę naprawienia listy ACL kontenera Menedżera kluczy rozproszonych (DKM, Distributed Key Manager), ale nie mogła przejąć na własność, ponieważ konto usługi AD FS nie ma wymaganych uprawnień. Jest to oczekiwane w przypadku farm pierwotnie utworzonych w systemie Windows Server 2012 lub Windows Server 2012 R2.

Nazwa wyróżniająca kontenera:
<DN>

Działanie użytkownika
Aby korygowanie zakończyło się pomyślnie, udziel wymaganych uprawnień do konta usługi AD FS.

Automatyczne korygowanie ponowi próbę w następnym cyklu wykrywania (w ciągu 24 godzin) lub podczas ponownego uruchamiania usługi. Jeśli wolisz ręcznie naprawić listę ACL, przejrzyj i popraw wpisy ACE w kontenerze grupy DKM. Dostęp powinni mieć tylko administratorzy domeny, administratorzy przedsiębiorstwa, SYSTEM i konto usługi AD FS.

Aby wyłączyć automatyczne korygowanie, ustaw dla HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) wartość 0. Aby uzyskać wskazówki, zobacz https://go.microsoft.com/fwlink/?linkid=2369796
Identyfikator zdarzenia: 510 — Dodatkowe informacje listy ACL
Informacja Szczegóły
Dziennik zdarzeń AD FS/Administracja
Typ zdarzenia Informacje
Źródło zdarzenia AD FS
Identyfikator zdarzenia 510
Tekst zdarzenia Więcej informacji dla wpisu zdarzenia z identyfikatorem <wystąpienia Identyfikator> wystąpienia. Może istnieć więcej zdarzeń z tym samym identyfikatorem wystąpienia z dodatkowymi informacjami.

Identyfikator instancji:
<Identyfikator instancji>

Szczegóły: <Segment szczegółów listy ACL lub wyjątku>

W przypadku dużych list ACL można zarejestrować wiele wpisów o identyfikatorze zdarzenia 510. Najpierw rejestrowane jest powiązane zdarzenie o identyfikatorze 1132, 1135 lub 1136, a następnie wpisy o identyfikatorze zdarzenia 510 z tym samym identyfikatorem wystąpienia.

powrót do początku

Dziennik zmian

Zmień datę Opis zmiany
13 października 2026 r.
  • Obszerna modyfikacja tego artykułu w wersji z 13 października 2026 r.
  • Dodano nowe identyfikatory zdarzeń 1137 i 510 w sekcji Odwołania do zdarzeń.

powrót do początku