Origine : bjCSIRT
Numéro : 2024/ALERTE/062
Date de l’alerte : 06/10/2024
APERÇU :
Une vulnérabilité critique découverte dans le mécanisme d’authentification SAML de GitLab permettrait à un acteur malveillant de contourner le mécanisme d‘authentification.
DESCRIPTION :
GitLab utilise la bibliothèque Ruby-SAML pour l’implémentation du mécanisme d’authentification via le protocole SAML. Ce protocole permet un échange sécurisé de données d’authentification entre un fournisseur de services et un fournisseur d’identité. Grâce à SAML, les utilisateurs peuvent s’authentifier sur plusieurs applications via un fournisseur d’identité central, sans avoir à entrer leurs identifiants à chaque connexion.
La bibliothèque Ruby-SAML est affectée par une vulnérabilité libellée CVE-2024-45409 qui permettrait à un acteur malveillant de contourner les mécanismes d’authentification en falsifiant des assertions SAML. Cette vulnérabilité résulte d’une validation incorrecte des assertions SAML, essentielles pour l’identification unique des utilisateurs. L’attaque repose sur l’utilisation de sélecteurs XPath trop permissifs, notamment //ds:DigestValue , lors de la vérification de l’intégrité des assertions. Cette méthode permettrait à un acteur malveillant d’injecter un élément falsifié <ds:DigestValue> dans d’autres sections du document, telles que <samlp:Extensions>, qui accepte tout élément XML avec un espace de noms approprié. Ainsi, un acteur malveillant pourrait modifier l’assertion SAML sans altérer le digest légitime, ce qui maintient la signature valide.
En conséquence, les systèmes utilisant la bibliothèque Ruby-SAML, tels que GitLab, ne seraient pas en mesure de détecter ces modifications non autorisées, permettant ainsi de se faire passer pour un utilisateur légitime.
Cette vulnérabilité est classée critique avec un score de sévérité de 9.8 selon le CVSS 3.1.
IMPACT :
- contournement de l’authentification ;
- accès non autorisé aux projets et aux données ;
- compromission de l’intégrité des systèmes et des données
SYSTÈMES AFFECTÉS :
- Les versions de la bibliothèque Ruby-SAML antérieures à 1.12.2 incluse et celles de 1.13.0 à 1.16.0.
- les versions de GitLab CE et EE antérieures aux versions 17.3.3, 17.2.7, 17.1.8, 17.0.8 et 16.11.10
MESURES À PRENDRE :
- mettre à jour la bibliothèque Ruby-SAML vers les versions 1.17.0, 1.12.3 ou ultérieures.
Pour les installations autogérées de GitLab
- mettre à jour GitLab à la version 17.4.1 ou ultérieure
- pour ceux qui ne peuvent pas passer à la version 17.4.1 ou ultérieure, 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 ».
Aucune action n’est à effectuer pour les utilisateurs d’instances GitLab dédiées sur https://gitlab.com
RÉFÉRENCES :