Jenkins - CVE-2026-117612

Date de publication :

Il s’agit d’une vulnérabilité dans le convertisseur XStream personnalisé du cœur de Jenkins.

Jenkins est un serveur d’automatisation open source. Il sert à l’intégration continue et à la livraison continue (CI/CD). Il exécute des pipelines de compilation, de test et de déploiement. Ses fonctions s’étendent par des plugins et des agents d’exécution.

Jenkins utilise XStream pour sérialiser et désérialiser ses données de configuration et de build. Un filtre de désérialisation (JEP-200) limite les types autorisés. Il accepte seulement les types de Jenkins, de ses plugins ou ceux explicitement permis. Ce filtre protège contre les attaques qui reposent sur les méthodes readResolve, exécutées lors de la désérialisation. Le convertisseur n’applique pas ce filtre aux classes référencées par l’attribut resolves-to. Un attaquant peut donc faire instancier des types arbitraires. Il doit détenir la permission Overall/Read. Il doit aussi remplir au moins une condition. Il peut disposer d’un compte utilisateur non anonyme. Il peut aussi détenir une permission qui autorise l’envoi (POST) d’un fichier config.xml, par exemple Item/Configure, View/Configure ou Agent/Configure.

Elle permet potentiellement l’exécution de code arbitraire à distance.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Non

Risques

Exécution de code arbitraire (à distance)

Exploitation

La vulnérabilité exploitée est du type
CWE-502 : Deserialization of Untrusted Data

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Faible
•   Privilèges nécessaires pour réaliser l'attaque : Authentification utilisateur simple
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : Non

Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.

Systèmes ou composants affectés

  • Jenkins (ligne hebdomadaire) versions 2.587 et antérieures

  • Jenkins LTS versions 2.580.1 et antérieures

Solutions ou recommandations

•   Jenkins (ligne hebdomadaire) : versions 2.588 et supérieures.
•   Jenkins LTS : versions 2.580.2 et supérieures.