GitLab corrige une faille critique, mais complique la vie de ses utilisateurs

Mélina LOUPIA
Publié le 30 juin 2024 à 19h24
Utilisateurs GitLab, surveillez vos pipelines © T. Schneider / Shutterstock
Utilisateurs GitLab, surveillez vos pipelines © T. Schneider / Shutterstock

GitLab vient de corriger une faille de sécurité majeure dans son système de pipelines. Cette vulnérabilité permettait à des hackers d'exécuter des tâches sous l'identité d'autres utilisateurs. La mise à jour apporte des changements importants et corrige également 13 autres problèmes de sécurité.

Considéré comme incontournable dans le monde de la gestion du développement logiciel, GitLab, qui a déjà présenté une grave faille en ce début 2024, est également connue pour la gestion de projets et l'automatisation des processus. Hélas, même les plateformes les plus robustes ne sont pas à l'abri des failles de sécurité.

C'est une vulnérabilité découverte dans le système de pipelines de GitLab qui fragilise la confidentialité et l'intégrité des projets hébergés sur la plateforme. Cette faille, identifiée comme CVE-2024-5655, permettait à des attaquants d'exécuter des pipelines en usurpant l'identité d'autres utilisateurs. L'équipe de GitLab a réagi rapidement en publiant une mise à jour correctrice, mais qui n'est pas sans imposer quelques contraintes.

Les pipelines GitLab : le cœur de l'automatisation du développement

Pour comprendre l'impact de cette faille, il faut d'abord saisir ce que sont les pipelines dans GitLab. Un pipeline est comme une chaîne de montage virtuelle pour votre code. C'est un ensemble d'étapes automatisées qui se déclenchent à chaque modification de votre projet. Ces étapes peuvent inclure la compilation du code, l'exécution de tests, ou encore le déploiement de l'application.

Imaginez un chef cuisinier qui aurait une équipe de robots pour préparer ses plats. Chaque robot a une tâche spécifique : l'un coupe les légumes, l'autre fait cuire la viande, un troisième dresse les assiettes. Le pipeline GitLab, c'est un peu la même chose, mais pour votre code. Chaque « robot » est en fait un job, une tâche spécifique à accomplir.

Ces jobs sont regroupés en étapes, que l'on appelle « stages » dans le jargon GitLab. Par exemple, vous pourriez avoir une étape « Build » pour compiler votre code, une étape « Test » pour vérifier que tout fonctionne correctement et une étape « Deploy » pour mettre votre application en ligne.

L'intérêt des pipelines, c'est qu'ils assurent une cohérence dans le processus de développement. Plus besoin de se demander si on a oublié de lancer les tests ou si la dernière version du code a bien été déployée. Tout est automatisé, ce qui réduit les erreurs humaines et accélère le rythme de développement.

De plus, les pipelines GitLab sont flexibles. Vous pouvez les configurer pour qu'ils se déclenchent à des moments précis, comme lors d'un push de code ou quand une merge request est créée. C'est un peu comme si vous pouviez dire à vos robots cuisiniers de se mettre au travail dès qu'un nouveau client entre dans le restaurant.

En bref, les pipelines GitLab sont le moteur qui fait tourner la machine du développement moderne. Ils automatisent les tâches répétitives, assurent la qualité du code et permettent aux développeurs de se concentrer sur ce qui compte vraiment : créer de meilleures applications. Un petit air du film Les Temps modernes.

Les meilleurs logiciels libres et open source en 2024
A découvrir
Les meilleurs logiciels libres et open source en 2024

04 mars 2024 à 14h30

Comparatifs services

Des correctifs et des contraintes

La faille de sécurité découverte dans GitLab était loin d'être anodine. Elle permettait à des personnes dont les intentions n'étaient pas des meilleures de lancer des pipelines en se faisant passer pour n'importe quel utilisateur. C'est un peu comme si quelqu'un pouvait entrer dans votre cuisine et donner des ordres à vos robots cuisiniers en prétendant être vous.

Cette vulnérabilité, baptisée CVE-2024-5655, a reçu un score de gravité de 9,6 sur 10. Autant dire qu'elle était considérée comme extrêmement sérieuse. Elle touchait toutes les versions de GitLab CE/EE de 15.8 à 16.11.4, 17.0.0 à 17.0.2 et 17.1.0 à 17.1.0. En gros, si vous utilisiez GitLab, il y avait de grandes chances pour que vous soyez concerné.

Sur la brèche, GitLab a réagi en publiant rapidement des mises à jour correctives : les versions 17.1.1, 17.0.3 et 16.11.5. Mais comme souvent en informatique, résoudre un problème peut en créer d'autres. La correction de cette faille a entraîné des changements importants dans le fonctionnement de GitLab.

Désormais, les pipelines ne se déclenchent plus automatiquement quand une merge request est reciblée après la fusion de sa branche cible précédente. En clair, il faut maintenant lancer manuellement le pipeline pour exécuter l'intégration continue sur vos modifications. C'est un peu comme si vos robots cuisiniers attendaient maintenant votre signal explicite avant de se mettre au travail.

Autre changement : le jeton CI_JOB_TOKEN est maintenant désactivé par défaut pour l'authentification GraphQL à partir de la version 17.0.0. Pour accéder à l'API GraphQL, il faut désormais configurer un autre type de jeton pris en charge.

Mais ce n'est pas tout. En plus de cette faille majeure, GitLab a profité de cette mise à jour pour corriger 13 autres problèmes de sécurité. Parmi eux, trois étaient considérés comme « élevés » en matière de gravité. On parle notamment d'une vulnérabilité XSS stockée, d'une faille CSRF dans l'API GraphQL et d'un problème d'autorisation dans la fonction de recherche globale.

La faille aurait pu avoir de graves conséquences © GitLab

Mises à jour et bonnes pratiques

GitLab met à la disposition de ses utilisateurs une page de mises à jour sur son site, disponible à cette adresse : https://about.gitlab.com/update/. Clubic y ajoute ses bonnes pratiques pour vous protéger des risques de ces failles.

Mettez à jour immédiatement

Installez les versions correctives (17.1.1, 17.0.3 ou 16.11.5), selon votre version actuelle.

Revoyez l'authentification API

Si vous utilisez l'API GraphQL, configurez un nouveau type de jeton pris en charge, car le CI_JOB_TOKEN est désormais désactivé par défaut.

Adaptez vos flux de travail

La correction modifie le comportement des pipelines pour les merge requests, c'est-à-dire des modifications à appliquer sur un dépôt proposées par un utilisateur sur lequel il n'a pas les droits de modification, reciblées. Préparez-vous à lancer manuellement les pipelines dans ces cas-là.

Vérifiez vos pipelines

Examinez l'historique des pipelines pour détecter toute activité suspecte ou non autorisée.

Renforcez la sécurité globale

Profitez-en pour revoir vos pratiques de sécurité, notamment concernant les vulnérabilités XSS et CSRF mentionnées.

Formez vos équipes

Assurez-vous que tous les utilisateurs sont conscients des changements et des nouvelles bonnes pratiques à adopter.

Surveillez les annonces

Restez attentif aux communications de GitLab pour d'éventuelles mises à jour ou recommandations supplémentaires.

    GitLab est un logiciel web de cycle de vie DevOps qui fournit un gestionnaire de référentiel Git offrant des fonctionnalités de wiki, de suivi des problèmes utilisateur et de pipeline d'intégration et de déploiement continus, sous une licence open-source, développé par GitLab Inc. Le logiciel peut aussi bien être auto-hebergé par son utilisateur qu'utilisé dans le cloud grâce à l'offre clé en main proposée.

    Par Mélina LOUPIA

    Modératrice, contributrice et community manager pour le regretté OVNI Le Post, puis journaliste société spécialisée dans la parentalité et la psychologie notamment sur Le HuffPost, l'univers du Web, des réseaux, des machines connectées et de tout ce qui s'écrit sur Internet s'inscrit dans le champ de mes sujets préférés.

    Vous êtes un utilisateur de Google Actualités ou de WhatsApp ?
    Suivez-nous pour ne rien rater de l'actu tech !
    Commentaires (0)
    Rejoignez la communauté Clubic
    Rejoignez la communauté des passionnés de nouvelles technologies. Venez partager votre passion et débattre de l’actualité avec nos membres qui s’entraident et partagent leur expertise quotidiennement.
    Commentaires (1)
    F_Bombyx

    Eh ben…