Jenkins - CVE-2026-84645
Date de publication :
Il s'agit d'une vulnérabilité de désérialisation dans le cœur de Jenkins, qui repose sur XStream pour charger et sauvegarder les données de configuration et de build.
Jenkins est un orchestrateur d'intégration et de déploiement continus (CI/CD) open source. Il automatise la construction, les tests et le déploiement de projets logiciels et s'intègre avec de nombreux outils de gestion de code source, de conteneurisation et de déploiement au moyen d'un vaste écosystème de plugins.
Certains types, comme les agents, les éléments (items) ou les builds, stockent leur configuration dans un fichier indépendant et sont identifiés comme tels via l'interface PersistenceRoot. Un filtre de désérialisation dédié restreint normalement ce mécanisme aux types définis dans le cœur ou les plugins Jenkins, ou explicitement autorisés. Jenkins utilise également le framework web Stapler, qui expose par accès réflexif les champs et méthodes liés au traitement des requêtes HTTP. Un objet sérialisé d'un type normalement destiné à un fichier de configuration indépendant peut être inséré comme valeur de champ imbriquée dans un document config.xml soumis par l'utilisateur. Cet objet imbriqué devient alors capable de traiter lui-même des requêtes HTTP via Stapler. Une combinaison soigneusement construite de tels objets permet d'accéder à une console de scripts (Script Console) insuffisamment protégée.
Elle permet à un attaquant authentifié disposant des droits nécessaires pour soumettre un config.xml d'exécuter du code arbitraire sur le contrôleur Jenkins.
Informations
La faille est activement exploitée : Non
Un correctif existe : Oui
Une mesure de contournement existe : Non
Exécution de code arbitraire (à distance)
Exploitation
CWE-94 : Improper Control of Generation of Code ('Code Injection')
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 : Oui
Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.
Systèmes ou composants affectés
• Jenkins (weekly), versions 2.579 et antérieures
• Jenkins LTS, versions 2.568.2 et antérieures
Solutions ou recommandations
• Jenkins LTS : correctif disponible en version 2.568.3 et supérieures.