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

Risques

Exécution de code arbitraire (à distance)

Exploitation

La vulnérabilité exploitée est du type
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 (weekly) : correctif disponible en version 2.580 et supérieures.
•   Jenkins LTS : correctif disponible en version 2.568.3 et supérieures.