Vulnérabilités dans des plugins Jenkins

Date de publication :

Plusieurs vulnérabilités critiques affectant le logiciel d’intégration continue Jenkins ont été corrigées.

CVE-2020-2315 [Score CVSS v3 : 7.1] : Une vulnérabilité affectant les versions inférieures à 1.1.3 du plugin VisualWorks Store peut permettre à un attaquant authentifié et à distance d’extraire des informations sensibles du contrôleur Jenkins. Cette vulnérabilité repose sur la non-vérification du contenu des requêtes XML avant traitement. Un attaquant peut alors perpétrer une attaque d'entité externe XML en faisant traiter à Jenkins un fichier contenant des requêtes XML vers des entités externes, permettant ainsi l’extraction de données.

CVE-2020-2316 [Score CVSS v3 : 8.0] : Le plugin Static Analysis Utilities <= v1.96 contient une vulnérabilité pouvant permettre à un attaquant distant et authentifié de procéder à une attaque de type cross-site scripting (XSS).

CVE-2020-2317 [Score CVSSv3 : 8.0] : Le plugin FindBugs <= v5.0.0 contient une vulnérabilité pouvant permettre à un attaquant distant et authentifié de procéder à une attaque de type cross-site scripting (XSS).

CVE-2020-2300 [Score CVSS v3 : 8.1] : Le mode ADSI on Windows du plugin Active Directory <= v2.19 autorise l’authentification avec le champ mot de passe vide. Si l’option “unauthenticated bind operation” est activée sur le serveur Active Directory, un attaquant peut se connecter sur Jenkins sans utiliser mot de passe comme tout utilisateur.

CVE-2020-2305 [Score CVSS v3 :  7.1] : Une vulnérabilité affectant le plugin Mercuriel <= v2.11 peut permettre à un attaquant authentifié et à distance d’extraire des informations sensibles du contrôleur Jenkins. Cette vulnérabilité repose sur la non-vérification du contenu des requêtes XML avant traitement. Un attaquant peut alors perpétrer une attaque d'entité externe XML en faisant traiter à Jenkins un fichier contenant des requêtes XML vers des entités externes, permettant ainsi l’extraction de données.

CVE-2020-2299 [Score CVSS v3 : 9.8] : Le mode “LDAP-based” du plugin Active Directory <= v2.19 est vulnérable. La recherche d’utilisateur et l’authentification de ses derniers partagent une partie de leur code ensemble, le plugin différencie ces étapes par une constante magique. L’exploitation de cette faille par un attaquant distant et non-authentifié lui permet de se connecter en tant qu’utilisateur en remplissant le champ mot de passe avec la constante magique.

CVE-2020-2304 [Score CVSS v3 : 7.1] : Une vulnérabilité affectant le plugin Subversion <= v2.13.1 peut permettre à un attaquant authentifié et à distance d’extraire des informations sensibles du contrôleur Jenkins. Cette vulnérabilité repose sur la non-vérification du contenu des requêtes XML avant traitement. Un attaquant peut alors perpétrer une attaque d'entité externe XML en faisant traiter à Jenkins un fichier contenant des requêtes XML vers des entités externes, permettant ainsi l’extraction de données.

Informations

La faille est activement exploitée :

Un correctif existe :

Une mesure de contournement existe :

Risques

Risques

  • Extraction de données sensibles
  • Contournement d’authentification
  • Contournement de la politique de sécurité

Criticité

  • Score CVSS v3  : Max 9.8

Existence d’un code d’exploitation

  • Aucun code d’exploitation n’est connu publiquement à ce jour

Composants vulnérables

  • Active Directory Plugin <= v2.19
  • Ansible Plugin <= v1.0
  • AppSpider Plugin <= v1.0.12
  • AWS Global Configuration Plugin <= v1.5
  • Azure Key Vault Plugin <= v2.0
  • FindBugs Plugin <= v5.0.0
  • Kubernetes Plugin <= v1.27.3
  • Mail Commander Plugin for Jenkins-ci Plugin <= v1.0.0
  • Mercurial Plugin up to and including 2.11
  • SQLPlus Script Runner Plugin up to and including 2.0.12
  • Static Analysis Utilities Plugin up to and including 1.96
  • Subversion Plugin up to and including 2.13.1
  • Visualworks Store Plugin up to and including 1.1.3
  • VMware Lab Manager Slaves Plugin up to and including 0.2.8

CVE

  • CVE-2020-2315
  • CVE-2020-2316
  • CVE-2020-2317
  • CVE-2020-2300
  • CVE-2020-2305
  • CVE-2020-2299
  • CVE-2020-2304

Solutions ou recommandations

Mise en place de correctifs de sécurité

  • Mise à jour de Active Directory Plugin version 2.20

  • Mise à jour de Ansible Plugin  version 1.1

  • Mise à jour de AppSpider Plugin version 1.0.13

  • Mise à jour de AWS Global Configuration Plugin version 1.6

  • Mise à jour de Azure Key Vault Plugin version 2.1

  • Mise à jour de Kubernetes Plugin version 1.27.4

  • Mise à jour de Mercurial Plugin version 2.12

  • Mise à jour de SQLPlus Script Runner Plugin version 2.0.13

  • Mise à jour de Subversion Plugin version 2.13.2

  • Mise à jour de Visualworks Store Plugin version 1.1.4

!!! Les deux CVEs : CVE-2020-2316 et CVE-2020-2317 ne sont pas couvertes par les correctifs de sécurité cités plus haut. !!!

Solution de contournement

  • Aucune solution de contournement n’est disponible publiquement à ce jour