CVE-2026-56155 : Renforcement de la liste ACL du conteneur du gestionnaire de clés distribuées AD FS

S’applique à
Windows Server 2012 ESU Windows Server 2012 R2 ESU Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server 2025

Date de publication d’origine : 14 juillet 2026
ID de la Base de connaissances : 5121391

Contenu de cet article

Résumé

La liste Access Control (ACL) sur le conteneur DKM (Distributed Key Manager) est entrée dans sa première phase de renforcement avec la mise à jour de sécurité Windows du 14 juillet 2026, qui a introduit la détection automatique des ACL non sécurisées et un mécanisme de correction d’abonnement.

À compter de la mise à jour de sécurité Windows du 13 octobre 2026, les services AD FS corrigent automatiquement les ACL de conteneur DKM non sécurisés par défaut. Les administrateurs peuvent refuser en définissant RemediateDkmAcl sur 0. Cet effort de renforcement résout une élévation de privilèges (EOP) qui peut résulter de la vulnérabilité documentée dans CVE-2026-56155 | Vulnérabilité d’élévation de privilèges dans les services de fédération Active Directory (Services ADFS).

En résumé, Services ADFS (AD FS) s’appuie sur le conteneur DKM pour stocker les clés symétriques utilisées pour protéger les certificats de signature et de chiffrement de jetons pour les clés privées. Si la liste de contrôle d’accès du conteneur est trop permissive, un attaquant disposant d’un accès en lecture au document de clé DKM peut déchiffrer les clés privées de signature de jeton.

Retour au début

Gérez activement vos projets

Pour protéger votre environnement, procédez comme suit :

  1. Installez la mise à jour de sécurité Windows appropriée publiée à partir du 13 octobre 2026 sur tous les serveurs AD FS.

Important

Avant d’installer la mise à jour de sécurité, déterminez si vous ne souhaitez pas appliquer la correction automatique. La désactivation n’est pas recommandée, car elle laisse la liste de contrôle d’accès du conteneur DKM dans un état non sécurisé.

Si vous devez refuser une exigence de compatibilité spécifique, définissez le registre RemediateDkmAcl sur 0 sur chaque serveur AD FS de la batterie avant d’installer la mise à jour. Le conteneur DKM est un objet Active Directory unique partagé par tous les serveurs AD FS de la batterie de serveurs, et la tâche d’arrière-plan ACL DKM s’exécute sur chaque serveur. Si RemediateDkmAcl est manquant ou défini sur une valeur différente de zéro sur un seul serveur AD FS, ce serveur peut automatiquement corriger la liste de contrôle d’accès du conteneur DKM partagé après l’installation de la mise à jour.

  1. Après l’installation, le service AD FS audite la liste de contrôle d’accès du conteneur DKM chaque fois que le service démarre et toutes les 24 heures par la suite. Si la liste de contrôle d’accès n’est pas sécurisée, les services AD FS tentent automatiquement la correction, sauf si RemediateDkmAcl a la valeur 0.

  2. Examinez le journal des événements du Administration AD FS pour les événements suivants :

    • L’ID d’événement : 1133 indique que la liste de contrôle d’accès du conteneur DKM est sécurisée. Aucune action supplémentaire n’est requise.

    • L’ID d’événement : 1132 indique que la liste de contrôle d’accès du conteneur DKM n’est pas sécurisée et qu’une correction automatique sera effectuée. Les détails de la liste de contrôle d’accès sont écrits dans une ou plusieurs entrées d’ID d’événement 510 ultérieures avec le même ID d’instance. Examinez les ID d’événement 1135, 1136 ou 1137 pour le résultat de la correction et prenez l’action suivante en fonction du résultat.

    • ID d’événement : 1135 (correction réussie) Aucune autre mesure de correction n’est requise. Enregistrez la liste de contrôle d’accès précédente à partir des entrées d’ID d’événement 510 suivantes comme décrit dans la section Enregistrer le SDDL précédent.

    • ID d’événement : 1136 (échec de la correction) Examinez les entrées d’ID d’événement 510 suivantes pour obtenir les détails actuels de l’ACL et de l’exception, corrigez l’erreur sous-jacente, puis redémarrez le service AD FS ou attendez le cycle de détection suivant.

    • ID d’événement : 1137 (échec du changement de propriétaire) Accordez au compte de service AD FS les autorisations WriteOwner et WriteDacl en suivant les instructions relatives aux cas d’événement d’échec de propriété, puis redémarrez le service AD FS ou attendez le cycle de détection suivant.

AD FS DKM Événements ACL de conteneur

ID d’événement Type Signification
1132 Avertissement La liste de contrôle d’accès du conteneur DKM ne correspond pas à l’état de sécurité attendu. Examinez les événements de correction 1135, 1136 et 1137.
1133 Informations La liste de contrôle d’accès du conteneur DKM est dans l’état de sécurité attendu. Aucune action requise.
1134 Erreur La tâche de détection a rencontré une erreur (telle qu’un échec de connectivité LDAP). Examinez les journaux de débogage AD FS et corrigez l’erreur sous-jacente.
1135 Informations Mise à jour de la liste de contrôle d’accès du conteneur DKM réussie. Enregistrez le SDDL précédent.
1136 Erreur La correction ACL du conteneur DKM a échoué. Examinez les entrées d’ID d’événement 510 corrélées et les traces de débogage AD FS et corrigez l’erreur sous-jacente.
1137 Erreur AD FS n’a pas pu prendre possession du conteneur DKM, car le compte de service ne dispose pas des autorisations requises. Accorder les autorisations requises
510 Informations Contient des détails d’ACL ou d’exception qui débordent des ID d’événement 1132, 1135 ou 1136. Faites correspondre les entrées par ID d’instance.

Retour au début

Modifications attendues de l’état de sécurité

Après la correction, seuls les principaux suivants auront accès au conteneur DKM :

va Droits d’accès
Administrateurs du domaine Tout générique (contrôle total)
Administrateurs de l’entreprise Tout générique (contrôle total)
Système Tout générique (contrôle total)
Compte de service AD FS lire, écrire, créer un enfant, écrire propriétaire, supprimer l’arborescence

Remarque L’héritage est désactivé et toutes les ACE héritées sont supprimées. Toutes les autres ACE d’autorisation explicites qui ne figurent pas dans la liste ci-dessus sont supprimées.

Retour au début

Désactivation de la correction automatique

Important

Cette section, cette méthode ou cette tâche contient des informations sur la modification du Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour plus de protection, effectuez une sauvegarde du Registre avant de le modifier. Vous pourrez ainsi le restaurer en cas de problème. Pour plus d’informations sur la procédure de sauvegarde et de restauration du Registre, consultez l’article Comment sauvegarder et restaurer le Registre dans Windows.

La correction est activée par défaut lorsque RemediateDkmAcl est manquant ou défini sur une valeur différente de zéro. Si vous devez refuser une exigence de compatibilité spécifique, définissez la valeur sur 0 sur chaque serveur AD FS de la batterie avant d’installer la mise à jour. La désactivation n’est pas recommandée, car elle laisse la liste de contrôle d’accès du conteneur DKM dans un état non sécurisé.

Informations Détails
Clé de Registre : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS
Valeur : RemediateDkmAcl
Type : DWORD
Données : 0

Retour au début

Cas d’événement d’échec de propriété (ID d’événement 1137)

L’ID d’événement : 1137 indique que les services AD FS n’ont pas pu prendre possession du conteneur DKM, car le compte de service ne dispose pas des autorisations requises. Cette condition est le plus souvent attendue sur les batteries créées à l’origine sur Windows Server 2012 ou Windows Server 2012 R2. Dans ce cas, accordez les autorisations requises au compte de service AD FS en suivant les étapes ci-dessous sur n’importe quel serveur AD FS de la batterie de serveurs. Sinon, les tentatives de correction continueront d’échouer.

  1. Identifiez le nom unique du conteneur DKM :

    
    $dkmContainerDn = (Get-AdfsProperties).CertificateSharingContainer
    $dkmContainerDn
    
    
  2. Identifiez le compte de service AD FS :

    
    $serviceAccount = (Get-CimInstance Win32_Service -Filter "Name='adfssrv'").StartName
    $serviceAccount
    
    
  3. Accorder des autorisations explicites pour WriteOwner et 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. Une fois les autorisations requises accordées, procédez comme suit :

    • Attendez jusqu’à 24 heures pour le prochain cycle de détection
    • Redémarrez le service AD FS pour déclencher la correction plus tôt

Une fois la correction réussie, l’ID d’événement : 1135 (informations) est enregistré avec la liste de contrôle d’accès précédente au format SDDL.

Retour au début

Par mesure de précaution, nous vous recommandons d’enregistrer la liste de contrôle d’accès précédente (SDDL) de l’ID d’événement : 510 entrées corrélées à l’ID d’événement : 1135 après une correction réussie. ID d’événement : 1135 contient l’ID d’instance utilisé pour identifier l’ID d’événement associé : 510 entrées. Bien que la liste de contrôle d’accès précédente ne soit pas censée être nécessaire dans la plupart des cas (puisque les autorisations d’origine n’étaient pas sécurisées), sa disponibilité offre un filet de sécurité en cas de problèmes de compatibilité imprévus.

Remarque

Les journaux des événements peuvent être substitués en raison des limites de taille. Si vous avez besoin du SDDL précédent à l’avenir et que l’événement a été remplacé, il sera définitivement perdu.

Vous pouvez copier et combiner manuellement le SDDL à partir des entrées ID d’événement : 510 dont l’ID d’instance est référencé par l’ID d’événement : 1135. Vous pouvez également utiliser le script PowerShell suivant pour collecter les entrées d’ID d’événement corrélées : 510 et enregistrer le SDDL dans un fichier :


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())

Retour au début

Comment restaurer la liste de contrôle d’accès précédente

Si vous rencontrez des problèmes après la correction et que vous devez revenir à la liste de contrôle d’accès précédente :


# 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() 

Remarque

Cette commande nécessite que le compte qui l’exécute dispose de SeSecurityPrivilege (généralement, les administrateurs de domaine disposent de cette commande). Exécutez cette commande à partir d’une session PowerShell avec élévation de privilèges sur un ordinateur joint à un domaine.


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

Après la restauration, définissez RemediateDkmAcl = sur0 sur chaque serveur AD FS de la batterie de serveurs pour empêcher la remise en état du service lors du cycle suivant.

Retour au début

Références d’événement

ID d’événement : 1132 — DKM conteneur ACL nécessite une révision
Informations Détails
Journal des événements AD FS/Administration
Type d’événement Avertissement
Source de l’événement AD FS
ID d’événement 1132
Texte de l'événement AD FS a détecté que la liste de contrôle d’accès du conteneur DKM (Distributed Key Manager) ne correspond pas à l’état de sécurité attendu. Le conteneur DKM stocke des clés symétriques utilisées pour protéger le matériel de clé de signature de jeton.

Nom unique du conteneur :
<Nom de domaine>

L’état de sécurité attendu est Héritage désactivé et seuls les administrateurs de domaine, les administrateurs d’entreprise, SYSTEM et le compte de service AD FS y ont accès.

AD FS tentera de corriger automatiquement la liste de contrôle d’accès (ACL). La correction s’exécute immédiatement et toutes les 24 heures par la suite jusqu’à ce que la liste de contrôle d’accès corresponde à l’état de sécurité attendu. Voir l’événement 1135 (correction réussie) ou l’événement 1136/1137 (échec de la correction) pour le résultat.

Si vous souhaitez refuser la correction automatique, définissez HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) sur 0. Pour obtenir des instructions, reportez-vous à la section https://go.microsoft.com/fwlink/?linkid=2369796.

Données supplémentaires

Héritage désactivé : <Oui/Non>

ACL actuelle (SDDL) :
Voir les entrées de l’événement 510 avec l’ID d’instance : <ID d’instance>
ID d’événement : 1133 — DKM container ACL is healthy
Informations Détails
Journal des événements AD FS/Administration
Type d’événement Informations
Source de l’événement AD FS
ID d’événement 1133
Texte de l'événement La tâche d’arrière-plan DKM ACL a examiné la liste de contrôle d’accès du conteneur pour le renforcement de la sécurité.

Le conteneur a les paramètres corrects et aucune action supplémentaire n’est requise.

Nom unique du conteneur :
<Nom de domaine>
ID d’événement : 1134 — Erreur de détection
Informations Détails
Journal des événements AD FS/Administration
Type d’événement Erreur
Source de l’événement AD FS
ID d’événement 1134
Texte de l'événement La tâche de case activée en arrière-plan de conteneur AD FS DKM ACL a rencontré une erreur.

Nom unique du conteneur :
<Nom de domaine>

Données supplémentaires
Détails de l’exception :
<exception>

Action de l’utilisateur
Pour plus d’informations, passez en revue les journaux de débogage AD FS. Assurez-vous que le compte de service AD FS a accès au conteneur du groupe DKM dans Active Directory.
ID d’événement : 1135 — Correction réussie
Informations Détails
Journal des événements AD FS/Administration
Type d’événement Informations
Source de l’événement AD FS
ID d’événement 1135
Texte de l'événement AD FS a réussi à renforcer la liste de contrôle d’accès du conteneur DKM (Distributed Key Manager).

Nom unique du conteneur :
<Nom de domaine>

La liste de contrôle d’accès du conteneur accorde désormais l’accès uniquement aux administrateurs de domaine, aux administrateurs d’entreprise, au système et au compte de service AD FS. L’héritage a été bloqué et toutes les autres autorisations ont été supprimées.

Remarque : La correction automatique ne s’exécutera pas à nouveau tant que la liste de contrôle d’accès correspond à la ligne de base. Si vous souhaitez refuser définitivement la correction automatique, même si la liste de contrôle d’accès dérive à l’avenir, définissez HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) sur 0.

La liste de contrôle d’accès précédente est incluse dans le format SDDL ci-dessous. Si vous devez restaurer les autorisations d’origine, consultez https://go.microsoft.com/fwlink/?linkid=2369796

Données supplémentaires

ACL précédent (SDDL) :
Voir les entrées de l’événement 510 avec l’ID d’instance : <ID d’instance>
ID d’événement : 1136 — Échec de la correction
Informations Détails
Journal des événements AD FS/Administration
Type d’événement Erreur
Source de l’événement AD FS
ID d’événement 1136
Texte de l'événement AD FS a tenté de corriger la liste ACL du conteneur DKM (Distributed Key Manager), mais a échoué.

Nom unique du conteneur :
<Nom de domaine>

Action de l’utilisateurLa correction automatique réessayera le cycle de détection suivant (dans les 24 heures). Si vous préférez corriger la liste de contrôle d’accès manuellement, examinez et corrigez les ACE sur le conteneur de groupe DKM. Seuls les administrateurs de domaine, les administrateurs d’entreprise, SYSTEM et le compte de service AD FS doivent y accéder.

Pour désactiver la correction automatique, définissez HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) sur 0.

Pour obtenir des conseils, consultez https://go.microsoft.com/fwlink/?linkid=2369796

Données supplémentaires

ACL actuelle (SDDL) et détails de l’exception :
Voir les entrées de l’événement 510 avec l’ID d’instance : <ID d’instance>
ID d’événement : 1137 — Échec du changement de propriétaire
Informations Détails
Journal des événements AD FS/Administration
Type d’événement Erreur
Source de l’événement AD FS
ID d’événement 1137
Texte de l'événement AD FS a tenté de corriger la liste de contrôle d’accès du conteneur DKM (Distributed Key Manager), mais n’a pas pu s’approprier, car le compte de service AD FS ne dispose pas des autorisations requises. Ceci est prévu pour les batteries créées à l’origine sur Windows Server 2012 ou Windows Server 2012 R2.

Nom unique du conteneur :
<Nom de domaine>

Action de l’utilisateur
Accordez les autorisations requises au compte de service AD FS pour que la correction réussisse.

La correction automatique sera réessayée lors du cycle de détection suivant (dans les 24 heures) ou lors du redémarrage du service. Si vous préférez corriger la liste de contrôle d’accès manuellement, examinez et corrigez les ACE sur le conteneur de groupe DKM. Seuls les administrateurs de domaine, les administrateurs d’entreprise, SYSTEM et le compte de service AD FS doivent y accéder.

Pour désactiver la correction automatique, définissez HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) sur 0. Pour obtenir des conseils, consultez https://go.microsoft.com/fwlink/?linkid=2369796
ID d’événement : 510 — Informations supplémentaires sur les listes de contrôle d’accès
Informations Détails
Journal des événements AD FS/Administration
Type d’événement Informations
Source de l’événement AD FS
ID d’événement 510
Texte de l'événement Plus d’informations sur l’entrée d’événement avec l’ID <d’instance, l’ID> d’instance. Il peut y avoir d’autres événements avec le même ID d’instance avec plus d’informations.

ID d’instance :
<ID de l’Instance>

Détails : <ACL ou segment de détail d’exception>

Pour les grandes listes de contrôle d’accès, plusieurs entrées d’ID d’événement 510 peuvent être enregistrées. L’ID d’événement 1132, 1135 ou 1136 est enregistré en premier, suivi des entrées d’ID d’événement 510 avec le même ID d’instance.

Retour au début

Journal des modifications

Modifier la date Modifier la description
13 octobre 2026
  • Réécriture importante de cet article pour la version du 13 octobre 2026
  • Ajout de nouveaux ID d’événement 1137 et 510 dans la section Références d’événement.

Retour au début