Quatre vulnérabilités CVSS 10.0 dans Apache Juneau (CVE-2026-73098, CVE-2026-96677) exposent les applications Java à des attaques RCE sans authentification et à des injections XSS critiques. Mise à jour vers 9.2.1 impérative.
En bref
- CVE-2026-73098 (reflection injection, CVSS 10.0) et CVE-2026-96677 (XSS, CVSS 10.0) — plus CVE-2026-73100 et CVE-2026-73101 — affectent Apache Juneau jusqu'à la version 9.2.0 incluse
- Framework Java open source largement utilisé pour construire des API REST, des microservices et des pipelines de données
- Action urgente : mettre à jour Apache Juneau et la bibliothèque juneau-marshall vers la version 9.2.1 immédiatement
Les faits
Le 5 novembre 2026, l'Apache Software Foundation a publié un lot de quatre avis de sécurité concernant Apache Juneau, le framework Java polyvalent conçu pour simplifier la construction d'API REST, de microservices, de pipelines de sérialisation et d'applications de traitement de données. Les quatre CVE — CVE-2026-73098, CVE-2026-73100, CVE-2026-73101 et CVE-2026-96677 — portent chacun un score CVSS 4.0 de 10.0, le maximum absolu, ce qui en fait l'un des ensembles de vulnérabilités les plus sévères divulgués en novembre 2026.
CVE-2026-73098 — Reflection Injection (CVSS 10.0, CWE-470) : Cette vulnérabilité est la plus dangereuse du lot sur le plan technique. Elle réside dans la façon dont Apache Juneau désérialise les entrées utilisateur vers des propriétés de type java.lang.Class. Lorsqu'une telle propriété est présente dans un objet Java traité par le framework, Juneau instancie la classe nommée par l'utilisateur. Cette instanciation déclenche automatiquement l'exécuteur statique (static initializer) de la classe cible. Si cette classe est présente sur le classpath de l'application — ce qui, dans la pratique, correspond à une attaque de type gadget chain similaire aux exploitations de désérialisation Java — son constructeur statique s'exécute avec les droits du service. Le vecteur d'attaque est entièrement réseau (AV:N), ne nécessite aucune authentification (PR:N), aucune interaction humaine (UI:N) et l'intégrité, la confidentialité et la disponibilité du système sont toutes trois compromises (C:H/I:H/A:H). Le score CVSS 3.1 vecteur complet est AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H.
CVE-2026-96677 — Cross-Site Scripting réflexif et persistant (CVSS 10.0, CWE-79) : Apache Juneau inclut un sérialiseur HTML qui peut produire des pages web à partir d'objets Java. Ce sérialiseur positionne des valeurs dans des zones structurelles de la page — entête (header), navigation (nav), barre latérale (aside), pied de page (footer) — collectivement appelées page chrome. La faille vient du fait que ces valeurs ne subissent aucun encodage HTML avant d'être injectées dans le rendu final. Si une application passe des variables issues de la requête HTTP dans ces zones (titre de page dynamique, identifiant d'utilisateur, valeur d'un paramètre GET), un attaquant peut injecter du JavaScript arbitraire. Dans le cas le plus grave — injection stockée dans une base de données puis restituée à d'autres utilisateurs — la vulnérabilité permet la prise de contrôle complète de sessions, le vol de cookies, la redirection vers des sites malveillants et l'exfiltration de données.
CVE-2026-73100 et CVE-2026-73101 : Ces deux CVE supplémentaires ont été divulguées le même jour avec le même score CVSS 10.0. Les détails techniques précis n'ont pas encore été pleinement documentés par les chercheurs indépendants au moment de la publication de cet article, mais l'Apache Software Foundation a confirmé qu'ils affectent les mêmes versions et sont corrigés dans la version 9.2.1. Les projets utilisant Juneau dans des environnements multi-utilisateurs ou exposés à Internet doivent considérer toutes les quatre CVE comme exploitables.
Versions affectées : L'ensemble des versions d'Apache Juneau jusqu'à 9.2.0 incluse sont concernées. La version 9.2.1 est la première version corrigée. La bibliothèque org.apache.juneau/juneau-marshall est également concernée et doit être mise à jour séparément si elle est déclarée comme dépendance directe dans Maven ou Gradle.
Chronologie de la divulgation : Les CVE ont été signalés à l'Apache Software Foundation par des chercheurs en sécurité indépendants via le programme de divulgation responsable. L'Apache Security Team a confirmé les rapports, développé les correctifs et publié simultanément les quatre avis le 5 novembre 2026, accompagnés de la mise à disposition de la version 9.2.1 sur Maven Central. Il n'existe aucun rapport d'exploitation in-the-wild confirmé à cette date.
Contexte d'utilisation d'Apache Juneau : Bien que moins médiatisé que Spring Boot ou Quarkus, Apache Juneau est présent dans de nombreuses applications d'entreprise Java, notamment dans des pipelines de données, des APIs internes, des applications d'analyse et des microservices orientés REST. Sa capacité à sérialiser nativement des objets Java en JSON, XML, HTML, CSV ou RDF en fait un choix prisé pour des outils d'administration et de reporting. Les organisations utilisant Apache TinkerPop, les projets IBM Watson ou des pipelines Big Data Java doivent vérifier leurs dépendances transitives.
Nature des gadget chains exploitables : Pour CVE-2026-73098, l'impact réel dépend des bibliothèques présentes sur le classpath. Des bibliothèques comme Apache Commons Collections, Spring Framework, Groovy ou d'autres fournissant des mécanismes d'exécution dans leurs initialiseurs statiques constituent des gadgets potentiels. L'outil open source ysoserial peut être adapté pour construire des payloads ciblant ce vecteur. La surface d'attaque est donc plus large dans les applications d'entreprise avec de nombreuses dépendances Maven.
Aucun proof-of-concept public confirmé : À la date de publication, aucun PoC public n'a été identifié sur GitHub ou les bases de données d'exploits comme Sploitus ou Exploit-DB. Cela peut changer rapidement étant donné la simplicité conceptuelle de l'exploitation (instanciation de classe via entrée utilisateur) et le score CVSS maximal qui attire l'attention des chercheurs offensifs.
Impact et exposition
Les organisations directement exposées sont celles qui utilisent Apache Juneau dans des applications accessibles via un réseau — qu'il soit Internet ou intranet. Pour CVE-2026-73098, la condition critique est qu'au moins un point d'entrée de l'application accepte des données utilisateur pouvant être désérialisées vers un objet contenant une propriété java.lang.Class. Toute API REST construite avec Juneau qui accepte du JSON ou du XML en entrée et mappe ces données sur des POJOs Java annotés peut être concernée.
Pour CVE-2026-96677, l'exposition est conditionnelle à l'utilisation du sérialiseur HTML de Juneau avec des variables dynamiques dans la page chrome. Les applications qui n'utilisent que des sérialiseurs JSON ou XML ne sont pas affectées par ce vecteur XSS spécifique. En revanche, toute application web utilisant Juneau pour générer des pages HTML avec des données issues de la requête doit être considérée comme vulnérable.
L'impact potentiel de CVE-2026-73098 est le pire scénario pour une application d'entreprise : exécution de code arbitraire avec les droits du serveur d'application, sans aucune authentification préalable. Cela peut mener à une exfiltration de bases de données, à l'installation de malware ou ransomware, à la compromission de secrets applicatifs (clés API, certificats) ou à la latéralisation dans le réseau interne. Dans un contexte de microservices, la compromission d'un service Juneau peut constituer un point d'entrée vers l'ensemble du cluster.
L'absence d'exploitation confirmée in-the-wild ne doit pas induire en erreur : un score CVSS 10.0 et un vecteur PR:N/UI:N signifient que la faille est exploitable par des acteurs de faible sophistication dès qu'un PoC sera disponible. L'historique des CVE Java de désérialisation (Log4Shell, CVE-2021-44228, par exemple) montre que le délai entre la publication et l'exploitation active se réduit de jour en jour.
Recommandations immédiates
- Mettre à jour Apache Juneau vers la version 9.2.1 — Apache Security Advisory CVE-2026-73098, CVE-2026-96677, CVE-2026-73100, CVE-2026-73101 (sans délai)
- Mettre à jour la dépendance Maven/Gradle
org.apache.juneau:juneau-marshallvers 9.2.1 séparément si déclarée - Scanner les dépendances transitives avec OWASP Dependency-Check ou Trivy pour identifier tous les artefacts Juneau
- En l'absence de patch immédiat : filtrer les entrées HTTP de type
java.lang.Classau niveau WAF ou API Gateway - Désactiver le sérialiseur HTML de Juneau si non utilisé (
HtmlSerializer) - Auditer les logs d'application pour des instanciations de classes inhabituelles ou des erreurs de désérialisation
- Vérifier les pipelines CI/CD : si Juneau est une dépendance transitive non contrôlée, forcer la version 9.2.1 via un BOM Maven ou une résolution de version Gradle
⚠️ Urgence
Quatre CVE CVSS 10.0 simultanées sur un même framework Java constituent un événement de sécurité majeur. Bien qu'aucune exploitation active ne soit confirmée, la fenêtre de sécurité avant l'apparition de PoCs publics est typiquement de 24 à 72 heures pour les vulnérabilités de ce calibre. Toute organisation utilisant Apache Juneau dans une application exposée au réseau doit considérer la mise à jour vers 9.2.1 comme une urgence de niveau P1.
Comment savoir si mon projet utilise Apache Juneau ?
Lancez la commande mvn dependency:tree | grep juneau (Maven) ou gradle dependencies | grep juneau (Gradle). Pour des artefacts déployés, recherchez dans le répertoire WEB-INF/lib/ ou équivalent les fichiers JAR contenant "juneau" dans leur nom. L'outil OWASP Dependency-Check peut également générer un rapport complet des composants vulnérables de votre projet.
Votre infrastructure est-elle exposée ?
Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités.
Demander un auditÀ propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
ayi@ayinedjimi-consultants.fr
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Testez vos connaissances
Mini-quiz de certification lié à cet article — propulsé par CertifExpress
Articles connexes
CVE-2026-20253 : Splunk Enterprise RCE pré-auth CVSS 9.8 — CISA KEV
CVE-2026-20253 (CVSS 9.8) : Splunk Enterprise expose un sidecar PostgreSQL sans authentification permettant une RCE en 5 requêtes HTTP. CISA KEV — première vulnérabilité Splunk jamais cataloguée. Exploitation active confirmée.
CVE-2026-118423 : WP Libre Form upload RCE, CVSS 10 — PoC public
CVE-2026-118423 (CVSS 10.0) : WP Libre Form ≤ 1.5.0.1 permet à tout visiteur anonyme d'uploader un fichier PHP et d'exécuter du code arbitraire. PoC public, aucun patch disponible, désinstallation immédiate requise.
PHP2Shell : CVE-2026-109618 et CVE-2026-109619 RCE CVSS 9.2
PHP2Shell regroupe deux RCE critiques (CVE-2026-109618 et CVE-2026-109619, CVSS 9.2) affectant toutes les installations PHP servant des requêtes web. Patches disponibles depuis le 21 octobre 2026, ajoutées au catalogue CISA KEV.
Un projet cybersécurité ? Parlons-en.
Pentest, conformité NIS 2, ISO 27001, audit IA, RSSI externalisé… nos experts répondent sous 24h pour évaluer votre besoin et vous proposer un accompagnement sur mesure.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire