Depuis plus de 20 ans, le protocole SAML (security assertion markup language) est la colonne vertébrale des technologies d'authentification unique (single sign-on, SSO) des entreprises. Pourtant, lors du Black Hat Europe 2025 en décembre dernier, Zak Fedotkin, chercheur en sécurité chez PortSwigger, a montré qu’il était possible de contourner le protocole en exploitant de subtiles failles dans le traitement XML. Il a notamment fait la démonstration de plusieurs techniques de piratage pour contourner la validation des signatures XML tout en présentant une documentation SAML valide à une application. Ces techniques offrent un moyen de contourner complètement l'authentification dans les écosystèmes Ruby et PHP SAML. « Plusieurs failles de sécurité ouvrent la voie au développement de la corruption des attributs, de la confusion des espaces de nommage et d'une nouvelle classe d'attaques par canonisation, entre autres », explique un billet de blog Zakhar Fedotkin.
La présentation, qui s'appuyait sur des recherches antérieures sur les failles de sécurité du SAML, comprenait une démonstration d'une attaque contre une instance vulnérable de GitLab Enterprise Edition 17.8.4. L'exploitation de plusieurs incohérences au niveau du parseur a permis de développer des exploits fiables et furtifs contre plusieurs autres implémentations SAML. Les attaques ont été rendues possibles grâce à plusieurs techniques de piratage qui permettraient à des attaquants potentiels de contourner complètement la validation des signatures XML tout en présentant un document SAML valide à une application. Comme on peut le voir dans une vidéo, en combinant un exploit Ruby-SAML avec des recherches antérieures, l'équipe de PortSwigger a pu éviter les contrôles d'accès aux courriels pour concevoir une réponse SAML falsifiée, créer un nouveau compte et, finalement, passer l'authentification sur une plateforme SaaS dont le nom n'a pas encore été révélé. M. Fedotkin a publié une boîte à outils open source capable d’identifier et d’exploiter ces vulnérabilités dans d'autres déploiements SAML réels. Les correctifs sont nécessaires mais insuffisants sans une « refonte en profondeur ».
Des mises à jour à appliquer
PortSwigger a communiqué les détails de la faille Ruby-SAML 1.12.4 au responsable de la maintenance en avril. Les vulnérabilités correspondantes référencées CVE-2025-66568 et CVE-2025-66567 ont été corrigées début décembre. Les équipes de sécurité doivent s'assurer que les bibliothèques de sécurité SAML et XML sont à jour en appliquant les derniers correctifs de sécurité et mises à jour de version, mais cela peut ne pas suffire. « OAuth offre une technologie plus récente pour proposer une authentification unique (SSO) mieux maintenue et présentant moins de failles de sécurité inhérentes que SAML, mais le simple fait de changer n'est pas une solution pratique pour la plupart des entreprises en raison de la base énorme et établie de longue date de fournisseurs de services qui s'appuient sur SAML », a fait remarquer M. Fedotkin. Selon le chercheur, une remédiation complète et durable nécessite une restructuration importante des bibliothèques SAML existantes. « De tels changements peuvent entraîner des problèmes de compatibilité ou des régressions, mais ils sont essentiels pour garantir la robustesse de l'analyse XML, de la validation des signatures et de la logique de canonisation », a conclu M. Fedotkin. « Sans cette refonte de fond, l'authentification SAML restera vulnérable aux mêmes types d'attaques qui persistent depuis près de deux décennies. »

Commentaire