GitLab a publié des mises à jour de sécurité pour résoudre une vulnérabilité critique de contournement de l’authentification SAML affectant les installations autogérées de GitLab Community Edition (CE) et Enterprise Edition (EE).
Le langage SAML (Security Assertion Markup Language) est un protocole d’authentification unique (SSO) qui permet aux utilisateurs de se connecter à différents services à l’aide des mêmes informations d’identification.
La faille, identifiée comme CVE-2024-45409, provient d’un problème dans les bibliothèques OmniAuth-SAML et Ruby-SAML, que GitLab utilise pour gérer l’authentification basée sur SAML.
La vulnérabilité se produit lorsque la réponse SAML envoyée par un fournisseur d’identité (IdP) à GitLab contient une mauvaise configuration ou est manipulée.
Plus précisément, la faille implique une validation insuffisante des éléments clés dans les assertions SAML, tels que extern_uid (ID utilisateur externe), qui est utilisé pour identifier de manière unique un utilisateur sur différents systèmes.
Un attaquant peut créer une réponse SAML malveillante qui incite GitLab à les reconnaître en tant qu’utilisateurs authentifiés, contournant l’authentification SAML et accédant à l’instance GitLab.
La faille CVE-2024-45409 impacte GitLab 17.3.3, 17.2.7, 17.1.8, 17.0.8, 16.11.10, et toutes les versions antérieures de ces branches.
La vulnérabilité est corrigée dans les versions 17.3.3, 17.2.7, 17.1.8, 17.0.8 et 16.11.10 de GitLab, où OmniAuth SAML a été mis à niveau vers la version 2.2.1 et Ruby-SAML vers 1.17.0.
« Nous recommandons fortement que toutes les installations exécutant une version affectée par les problèmes décrits ci-dessous soient mises à niveau vers la dernière version dès que possible », prévient GitLab dans le bulletin.
Aucune action n’est nécessaire pour les utilisateurs d’instances dédiées GitLab sur GitLab.com, car le problème n’affecte que les installations autogérées.
Pour ceux qui ne peuvent pas passer immédiatement à une version sécurisée, GitLab suggère d’activer l’authentification à deux facteurs (2FA) pour tous les comptes et de définir l’option de contournement SAML 2FA sur « ne pas autoriser. »
Signes d’exploitation
Bien que GitLab n’ait pas déclaré que la faille avait déjà été exploitée, ils ont fourni des signes de tentative ou d’exploitation réussie dans le bulletin, suggérant que des acteurs malveillants pourraient déjà exploiter la faille dans les attaques.
Les signes d’une tentative ou d’une exploitation réussie sont:
- Erreurs liées à Ruby Saml:: Erreur de validation (tentatives infructueuses).
- Valeurs extern_uid nouvelles ou inhabituelles dans les journaux d’authentification (tentatives réussies).
- Informations manquantes ou incorrectes dans les réponses SAML.
- Plusieurs valeurs extern_uid pour un seul utilisateur (indique une compromission potentielle du compte).
- Authentification SAML à partir d’une adresse IP inconnue ou suspecte par rapport aux modèles d’accès habituels de l’utilisateur.
Breachtrace a contacté GitLab hier pour savoir s’ils avaient observé ou non une exploitation active de CVE-2024-45409 dans la nature, mais nous attendons toujours une réponse.