
CVE-2021-22205 - Exécution de code à distance non authentifiée dans GitLab
CVE-2021-22205 est une vulnérabilité critique d’exécution de code à distance (RCE) affectant GitLab Community Edition (CE) et Enterprise Edition (EE). La vulnérabilité provient d’une validation incorrecte des fichiers image téléchargés qui sont traités par l’utilitaire tiers ExifTool. Un attaquant peut créer un fichier malveillant qui déclenche l’exécution de commandes arbitraires sur le serveur GitLab. La vulnérabilité a reçu un score CVSS de 10,0 (Critique) et a été observée comme étant activement exploitée dans la nature.
La vulnérabilité affecte les versions GitLab CE/EE à partir de 11.9 jusqu’aux versions suivantes :
Les organisations exécutant des versions vulnérables de GitLab étaient exposées à une compromission totale du serveur par une simple attaque de téléchargement de fichier.
GitLab utilise ExifTool pour extraire et nettoyer les métadonnées des fichiers image téléchargés. ExifTool lui-même contenait une vulnérabilité impliquant le traitement de fichiers DjVu spécialement conçus (suivie sous CVE-2021-22204). GitLab faisait indûment confiance aux extensions de fichiers et transmettait les fichiers téléchargés à ExifTool sans validation suffisante.
Un attaquant pouvait déguiser une charge utile DjVu malveillante en fichier image. Lorsque GitLab traitait le fichier, ExifTool interprétait les métadonnées malveillantes et exécutait des commandes contrôlées par l’attaquant sur le serveur. L’attaque a fini par être reconnue comme exploitable sans authentification, ce qui a considérablement augmenté sa gravité.
Une exploitation réussie peut permettre à un attaquant de :
Étant donné que de nombreuses organisations exposent directement leurs instances GitLab à Internet, cette vulnérabilité représentait un risque de sécurité majeur pour la chaîne d’approvisionnement et l’infrastructure.
Après la divulgation publique, des chercheurs en sécurité et des acteurs malveillants ont rapidement développé des exploits fonctionnels. De multiples rapports ont documenté des balayages généralisés et des tentatives d’exploitation contre des instances GitLab accessibles publiquement. La vulnérabilité a ensuite été ajoutée au catalogue des vulnérabilités connues exploitées (KEV) de la CISA.
Les administrateurs doivent immédiatement mettre à niveau vers l’une des versions corrigées :
Des recommandations supplémentaires incluent :
GitLab a officiellement exhorté ses clients auto-gérés à effectuer la mise à jour dès que possible après l’observation d’activités d’exploitation.
Ce dépôt est destiné uniquement à des fins éducatives, de recherche en sécurité et d’environnements de test autorisés. Tout code de preuve de concept (PoC) fourni est conçu pour aider les professionnels de la sécurité à comprendre la vulnérabilité et à vérifier les efforts de remédiation. Les tests non autorisés contre des systèmes que vous ne possédez pas ou pour lesquels vous n’avez pas d’autorisation explicite peuvent enfreindre les lois et réglementations applicables.