CVE-2026-2332 et 4 autres CVE Jetty de 2026 : lesquelles affectent votre build Jetty (ou Spring Boot), et la version corrigée nommée par Jetty existe-t-elle seulement sur Maven Central ? Pour les branches 9.4/10/11 en fin de vie, la réponse est « voir les détails pour la disponibilité » = 404.
Votre installation de Jetty (ou le Jetty embarqué par Spring Boot), lesquelles de ces cinq CVE de 2026 affecte-t-elle — et la version que l'on vous demande de mettre à jour existe-t-elle réellement sur Maven Central ?
Accent principal sur CVE-2026-2332 (GHSA-355h-qmc2-wpwf, high / CVSS v3 7.4) : la contrebande de requêtes chunked dans jetty-http.
Le fait le plus dur : les versions corrigées publiques des trois lignes EOL 9.4 / 10 / 11 n'existent tout simplement pas — la page de sécurité officielle indique pour chacune
see details for availability (= support commercial), et ces numéros de version renvoient tous 404 sur Maven Central en test réel.
java -jar jetty-line-check.jar /path/to/jetty # Jetty déployé décompressé (scanne lib/*.jar)
java -jar jetty-line-check.jar app.war # war
java -jar jetty-line-check.jar app.jar # Spring Boot fat jar
java -jar jetty-line-check.jar --table # affiche uniquement le tableau de verdict des cinq CVE × modules × lignes de version
java -jar jetty-line-check.jar --utf8 ... # à ajouter en cas d'affichage illisible du chinois dans la console Windows
Le critère du projet frère tomcat-line-check est « y a-t-il une certaine classe de correctif dans le jar », car ce correctif de Tomcat ajoutait une nouvelle classe.
Pour ces CVE de Jetty, ça ne marche pas. Le correctif de CVE-2026-2332, le principal, modifie le corps de méthode de HttpParser, sans ajouter aucune classe
(vérifié avant construction avec gh api compare + javap). Le critère ne peut donc être que :
Vos coordonnées complètes + ligne de version, quelles CVE sont touchées ; et la version corrigée nommée par l'officiel, existe-t-elle réellement sur Maven Central.
Le tableau de verdict est généré par tools/gen_table.py à partir des vulnerabilities[] des cinq avis GitHub + sondage HEAD des vrais jars sur Maven Central,
et refuse de produire le tableau si les sept groupes d'assertions (contrôle positif / affirmation centrale / version finale des anciennes lignes / sentinelle / structure du principal / modules éclatés / notation) ne passent pas.
| Trois états | Signification |
|---|---|
PUBLIC | l'avis nomme une version corrigée, et elle existe réellement sur Maven Central — mise à jour publique possible |
404 | l'avis nomme une version corrigée, mais elle renvoie 404 sur Central — la page de sécurité officielle écrit see details for availability (support commercial) |
无 | l'avis ne donne pas du tout de version corrigée pour cette ligne (first_patched_version vide) — corriger cette ligne impose un saut de version majeure |
Toute cette étendue de 404 et de 无 sur les anciennes lignes (9.4 / 10.0 / 11.0), c'est là toute la valeur de cet outil. Lancez --table pour voir l'ensemble.
org.eclipse.jetty reviewed, année 2026)| CVE | Module | Notation | En une phrase |
|---|---|---|---|
| CVE-2026-2332 | jetty-http | high / v3 7.4 | ⭐ Principal : le \r\n dans un quoted-string chunked est pris pour la fin d'un en-tête de chunk → contrebande de requêtes (CWE-444) |
| CVE-2026-5795 | jaspi (12.x éclaté en ee8/9/10/11-jaspi) | high / v3 7.4 | ThreadLocal de JASPI non nettoyé → élévation de privilèges |
| CVE-2026-6790 | jetty-server | medium / v3 5.3 | confusion Host / :authority en HTTP/2·3 |
| CVE-2026-10050 | jetty-security (12.x ajoute ee8/9-security) | high / v4 8.7 | traitement ISO-8859-1 de l'authentification Digest |
| CVE-2025-11143 | jetty-http | low / v3 3.7 | divergence d'analyse d'URI |
🔴 Seule la surface affectée du principal, 2332, tient debout (le chemin de contrebande tombe sur le chemin d'analyse par défaut ServerConnector / HttpParser,
sans nécessiter l'activation d'une fonctionnalité particulière). Les quatre autres ne sont qu'une ligne dans le tableau de verdict :
CVE-2026-10050 (Digest) est très réduite — il faut activer explicitement l'authentification Digest pour y être exposé, ne pas en faire l'argument principal.CVE-2026-6790 est medium, CVE-2025-11143 est low — interdiction de les qualifier globalement de « critiques ».see details for availability, point final.GHSA-r7p8-xq5m-436c · GHSA-7p3p-8qv8-m2vh · GHSA-2fvj-hgj9-j2gr · GHSA-wjpw-4j6x-6rwhsee details for availability) : https://jetty.org/security.htmlpython tools/gen_table.py --dry # exécute seulement les assertions, sans écrire de fichier
python tools/gen_table.py # n'écrit CveTable.java que si toutes les assertions passent
python tools/recheck_before_publish.py # à relancer le jour de la publication ; si une affirmation tombe, changer le texte, pas le critère
mvn package # nécessite JDK 17 ; zéro dépendance à l'exécution (JUnit uniquement en phase de test)
| Code | Signification |
|---|---|
0 | scan terminé, et chaque fichier a réellement été lu |
2 | erreur d'usage (aucun chemin fourni) |
4 | un fichier est illisible — pas un zip, contenu tronqué, ou échec de lecture |
🔴 Raison du 4 : la trace est faite pour les humains, le CI et les scripts regardent le code de sortie. Sans lui, un jar corrompu / chiffré / téléchargé incomplètement
se transformerait silencieusement en un « aucun problème détecté » — « je n'arrive pas à le lire » et « vous êtes en sécurité » doivent être deux phrases distinctes.
⚠️ Un jar vide légitime (un simple enregistrement EOCD de 22 octets) n'est pas considéré comme illisible et ne déclenche pas le 4.
MIT