En bref

  • CVE-2026-15572 (CVSS 8.8) — escalade de privilèges vers realm admin via Dynamic Client Registration dans Keycloak
  • CVE-2026-11800 (CVSS 8.1) — confusion d'algorithme JWT permettant de forger des tokens d'accès arbitraires
  • Action urgente : mettre à jour vers Keycloak 26.7.1, 26.6.5 ou 26.4.14 — 12 CVE corrigés dans cette release sécurité

Les faits

Le 6 août 2026, l'équipe Keycloak a publié la version 26.7.1 (ainsi que les versions de backport 26.6.5 et 26.4.14), une release dédiée à la sécurité corrigeant 12 vulnérabilités au total. Parmi celles-ci, cinq ont été documentées dans les notes de version officielles, tandis que sept autres ont été publiées simultanément sous forme d'advisories GitHub Security Advisories — une pratique de divulgation combinée devenue standard pour les projets open source hébergés sur GitHub. Cette publication groupée est notable par son volume : 12 CVE en une seule release constitue l'une des corrections les plus importantes de l'histoire du projet Keycloak, signalant un effort de revue de code systématique de grande ampleur.

La vulnérabilité la plus critique, CVE-2026-15572, a reçu un score CVSS 3.1 de 8.8 (Haute sévérité). Elle affecte le mécanisme de Dynamic Client Registration (DCR) de Keycloak, une fonctionnalité permettant à des applications clientes de s'enregistrer dynamiquement auprès du serveur d'autorisation. Le vecteur d'attaque est : AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H — exploitable à distance, de faible complexité, nécessitant des privilèges bas (PR:L) sans interaction utilisateur. La condition de faibles privilèges (PR:L) signifie qu'un compte avec des droits de client registration suffit — loin d'un accès administrateur.

Le fonctionnement technique de CVE-2026-15572 repose sur une faille de validation dans la gestion des mapper types lors des mises à jour de clients DCR. Keycloak ne re-valide pas le type de mapper lors d'une mise à jour client si la configuration du mapper n'a pas changé entre la création et la modification. Un attaquant disposant de droits de client registration peut alors : (1) enregistrer un client avec un mapper de type autorisé (par exemple un mapper de revendications standard), (2) mettre à jour ce client en substituant silencieusement le type du mapper par un type restreint à haute privilege, tel qu'un mapper qui injecte des rôles administratifs dans les tokens JWT. Le résultat final est qu'un compte avec de simples droits de registration peut obtenir un token JWT contenant les rôles d'un administrateur de realm — une escalade verticale complète.

La seconde vulnérabilité majeure, CVE-2026-11800 (CVSS 8.1), cible le flux JWT Authorization Grant et illustre un type d'attaque différent : la confusion d'algorithme JWT (JWT Algorithm Confusion Attack). Le vecteur : AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N. Cette classe d'attaque, popularisée par les travaux de PortSwigger Research et de chercheurs académiques, exploite le fait que certaines implémentations JWT font confiance à l'algorithme déclaré dans l'en-tête du token plutôt que de l'imposer côté serveur. Dans le contexte de CVE-2026-11800 : un attaquant disposant de credentials clients valides peut contourner la vérification de signature JWT et créer des tokens d'accès non autorisés, permettant l'usurpation d'identité de n'importe quel utilisateur fédéré lié au fournisseur d'identité affecté.

Une troisième vulnérabilité de même famille que CVE-2026-15572 est également patchée : CVE-2026-16102 (CVSS 8.1), également liée au Dynamic Client Registration. Cette faille représente un vecteur d'attaque complémentaire atteignant les mêmes conséquences — l'escalade vers realm admin — via un chemin technique légèrement différent. La combinaison CVE-2026-15572 et CVE-2026-16102 illustre qu'une fonctionnalité entière (DCR) présentait des défauts architecturaux sous-jacents plutôt qu'une simple erreur de code isolée. L'équipe Keycloak a donc procédé à une refonte partielle de la logique de validation de cette fonctionnalité.

Parmi les 12 CVE corrigées, les sept non documentées dans les notes de version officielles ont été publiées discrètement sous forme de GitHub Security Advisories le même jour. Cette pratique — courante dans l'écosystème open source — permet de divulguer des informations de sécurité sans les rendre immédiatement indexables par les moteurs de recherche et les scanners automatisés, laissant une courte fenêtre aux utilisateurs pour appliquer le patch avant que des acteurs malveillants ne développent des exploits. Selon l'analyse du blog IDPTrust, qui a documenté l'intégralité des 12 CVE, les vulnérabilités non publiées dans les notes officielles couvrent des problèmes allant de la fuite d'informations dans les logs à des dénis de service ciblés sur des configurations spécifiques.

Keycloak est l'un des serveurs d'identité et de gestion des accès open source les plus déployés au monde. Utilisé comme IDP (Identity Provider) dans des milliers d'organisations — des PME aux administrations publiques — il est souvent positionné comme pierre angulaire de l'infrastructure d'authentification SSO (Single Sign-On). Une compromission de Keycloak par CVE-2026-15572 ou CVE-2026-11800 permet potentiellement à un attaquant d'émettre des tokens JWT valides pour n'importe quel utilisateur de l'organisation, y compris des administrateurs système — équivalent à une compromission totale de l'infrastructure d'identité. Le projet Red Hat SSO (basé sur Keycloak) et les distributions dérivées sont également concernés et font l'objet d'advisories séparés de Red Hat Product Security.

Il n'existe pas de PoC public connu pour CVE-2026-15572 ou CVE-2026-11800 à la date du 6 août 2026. Aucune exploitation in-the-wild n'a été confirmée par les équipes de threat intelligence de Tenable, Rapid7 ou Qualys. Toutefois, la nature de ces vulnérabilités — accès via des droits bas, exploitables à distance, menant à une compromission totale du système d'identité — les rend particulièrement attractives pour des groupes APT ciblant des infrastructures critiques.

Impact et exposition

Sont exposées toutes les instances Keycloak déployées en versions antérieures à 26.7.1, 26.6.5 ou 26.4.14. La condition principale pour exploiter CVE-2026-15572 est d'avoir activé la fonctionnalité Dynamic Client Registration (DCR) — ce qui n'est pas le cas par défaut dans Keycloak, mais représente une configuration courante dans les environnements micro-services et les plateformes API où des applications s'enregistrent dynamiquement. Les organisations ayant activé DCR avec des droits d'enregistrement ouverts ou faiblement contrôlés sont les plus exposées.

Pour CVE-2026-11800, l'exploitation nécessite des credentials clients valides et une configuration spécifique du flux JWT Authorization Grant. Ce vecteur est plus ciblé, mais reste réaliste dans les environnements d'entreprise où des comptes de service avec des droits limités peuvent exister et être compromis. Une fois les credentials d'un compte de service obtenus (par phishing, fuite de configuration, etc.), CVE-2026-11800 permet d'escalader vers n'importe quel utilisateur fédéré.

L'impact potentiel d'une compromission de Keycloak dépasse largement le périmètre de l'IDP lui-même. Dans les architectures SSO modernes, Keycloak est le point de confiance central pour l'ensemble des applications de l'organisation : ERP, CRM, outils de collaboration, accès VPN, portails internes. Un attaquant contrôlant Keycloak peut émettre des tokens valides pour ces systèmes, contournant toutes leurs mécanismes d'authentification natifs. Cette position de « Crown Jewel » de l'infrastructure d'identité en fait une cible prioritaire pour les acteurs de menace.

Selon le CERT-FR (bulletin CERTFR-2026-ACT-033), de multiples vulnérabilités dans KeyCloak ont été documentées en août 2026, avec des niveaux de sévérité allant jusqu'à l'escalade de privilèges critique. Les organisations utilisant Keycloak dans des secteurs régulés (santé, finance, administration) doivent considérer cette mise à jour comme une obligation de conformité, en plus de l'impératif sécuritaire.

Recommandations immédiates

  • Mettre à jour Keycloak vers la version 26.7.1, 26.6.5 (branche LTS) ou 26.4.14 — changelog officiel Keycloak 2026/08/keycloak-2671-released
  • Si la mise à jour immédiate n'est pas possible : désactiver temporairement la fonctionnalité Dynamic Client Registration (DCR) jusqu'à l'application du patch (mitigation partielle pour CVE-2026-15572 et CVE-2026-16102)
  • Auditer les clients DCR enregistrés et leurs mapper configurations pour détecter toute manipulation anormale
  • Passer en revue les tokens JWT récemment émis avec des claims inhabituels (rôles admin inattendus) via les logs Keycloak
  • Appliquer les advisories Red Hat Product Security correspondants si vous utilisez Red Hat SSO ou RHBK (Red Hat Build of Keycloak)
  • Vérifier l'intégrité des configurations realm dans la base de données Keycloak pour détecter des modifications non autorisées

⚠️ Urgence

CVE-2026-15572 (CVSS 8.8) permet l'escalade vers realm admin avec de simples droits de client registration. Keycloak est souvent le point de confiance central de toute l'infrastructure SSO d'une organisation — sa compromission équivaut à une prise de contrôle de l'ensemble du système d'authentification. Prioriser cette mise à jour si DCR est activé dans votre environnement.

Comment savoir si je suis vulnérable ?

Vérifiez la version de Keycloak via l'interface admin (onglet About) ou en consultant le fichier version.txt dans le répertoire d'installation. Si la version est antérieure à 26.7.1 (branche 26.7), 26.6.5 (branche 26.6) ou 26.4.14 (branche 26.4), vous êtes vulnérable. Pour vérifier si DCR est activé : dans l'interface admin Keycloak, allez dans Realm Settings > Client Registration > Policies. Si des policies d'enregistrement sont configurées avec des droits ouverts, CVE-2026-15572 est exploitable dans votre environnement.

Votre infrastructure est-elle exposée ?

Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités.

Demander un audit