Logo jenkins

Jenkins, outil d'intégration continue et fork de Hudson sort très régulièrement de nouvelles versions. La nouvelle est la 1.454, sortie le 3 mars 2012, le même jour que la 1.453. La 1.452 contenait deux failles de sécurité. Voici le changelog:

Version 1.454

  • ajustement des règles de nettoyage HTML qui étaient trop strictes

Version 1.453

  • correction d'une vulnérabilité XSS (SECURITY-26, voir plus bas)
  • correction d'une fuite d'un descripteur de fichier sur Windows (SECURITY-23, voir plus bas)
  • La colonne 'Age' de l'onglet 'Résultats de tests' pouvait contenir une valeur incorrecte quand une série de tests était réparties en plusieurs fichiers JUnit (bug 12457)
  • Message système - n'apparait pas ailleurs que sur la vue par défaut (bug 7733)
  • Ajout d'un composant d'interface pour afficher la barre de notification en haut de la page
  • Les utilisateurs peuvent configurer la recherche pour la rendre insensible à la casse (bug 850)
  • L'aide en ligne signale maintenant le plugin qui contribue à la fonctionnalité signalée
  • Plusieurs pages de configuration ont le bouton "Appliquer"
  • Eviter le goal deploy dans le dépôt Maven après le build dans les builds de release (bug 12397)
  • Jenkins arrive maintenant à démarrer si des plugins ont des dépendances cycliques: ces plugins sont désactivés
  • Ajout du type MIME video/webm pour les fichiers dotés de l'extension .webm
  • Mise à jour vers guava 11.0.1

Vulnérabilités

La première faille est une vulnérabilité permettant de passer d'un répertoire à un autre. Elle permet à un attaquant anonyme de lire des fichiers dans un système de fichiers qui ne devrait pas pouvoir être accédé. Cette faille affecte Jenkins quand il est exécuté sous Windows, que le contrôle d'accès de Jenkins soit activé ou non. Ces fichiers lus sont toujours soumis au contrôle d'accès de l'OS, c'est pourquoi l'attaquant ne pourra avoir accès qu'aux fichiers lisibles par l'utilisateur sous lequel Jenkins est exécuté. Il s'agit d'une vulnérabilité dans le conteneur de servlet embarqué (appelé Winstone), c'est pourquoi le problème ne touche que les utilisateurs qui exécutent Jenkins via java -jar jenkins.war (dont les utilisateurs du l'installateur Windows). Cette vulnérabilité touche toutes les versions de Jenkins jusqu'à et y compris les versions 1.452, ainsi que les versions LTS jusqu'à la 1.424.3 inclus.

La seconde vulnérabilité est une vulnérabilité cross-site scripting (XSS), qui permet à un attaquant d'injecter du HTML malveillant aux pages servies par Jenkins. Ceci lui permet d'usurper des privilèges en volant les sessions des autres utilisateurs. Cette vulnérabilité affecte toutes les versions de which allows an attacker to inject malicious HTMLs to pages served by Jenkins. This allows an attacker to escalate his privileges by hijacking sessions of other users. Cette vulnérabilité touche toutes les versions de Jenkins jusqu'à et y compris les versions 1.452, ainsi que les versions LTS jusqu'à la 1.424.3 inclus, quels que soient les réglages de sécurité.