Eclipse - CVE-2026-2332

Date de publication :

Il s'agit d'une vulnérabilité dans le parseur HTTP/1.1 d'Eclipse Jetty, au niveau du traitement des extensions de chunks en encodage de transfert chunked.

Eclipse Jetty est un serveur HTTP et un conteneur de servlets Java open source, conçu pour être embarqué directement dans des applications. Il est très répandu comme composant de serveur web intégré dans des solutions logicielles Java tierces.

La RFC 9112 définit qu'une valeur d'extension de chunk peut être une chaîne entre guillemets, au sein de laquelle la séquence \r\n ne constitue pas un terminateur de ligne. Jetty termine à tort l'analyse de l'en-tête de chunk à la première occurrence de \r\n rencontrée à l'intérieur d'une telle chaîne, au lieu de la traiter comme une erreur de parsing. Un attaquant peut forger une requête HTTP contenant une extension de chunk avec des guillemets non fermés, dont la valeur inclut un \r\n suivi d'une seconde requête HTTP complète. Jetty interprète cette seconde requête comme une requête légitime et indépendante, tandis que le proxy frontal la perçoit comme faisant partie du corps de la première requête. Cette désynchronisation entre le proxy et le backend constitue une attaque de type HTTP Request Smuggling.

Elle permet à un attaquant distant non authentifié d'injecter des requêtes HTTP arbitraires dans le flux de traitement du serveur, afin de contourner les contrôles de sécurité frontaux, de poisonner des caches partagés ou de détourner des sessions d'autres utilisateurs.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Oui

Risques

•   Contournement de la politique de sécurité
•   Atteinte à la confidentialité des données
•   Atteinte à l'intégrité des données

Exploitation

La vulnérabilité exploitée est du type
CWE-444 : Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Élevée
•   Privilèges nécessaires pour réaliser l'attaque : Aucun
•   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
Une preuve de concept est disponible en sources ouvertes.

Systèmes ou composants affectés

•   Eclipse Jetty versions 9.4.0 jusqu'à 9.4.59 inclus
•   Eclipse Jetty versions 10.0.0 jusqu'à 10.0.27 inclus
•   Eclipse Jetty versions 11.0.0 jusqu'à 11.0.27 inclus
•   Eclipse Jetty versions 12.0.0 jusqu'à 12.0.32 inclus
•   Eclipse Jetty versions 12.1.0 jusqu'à 12.1.6 inclus

Contournement provisoire

•   Configurer le proxy ou load balancer frontal pour supprimer ou normaliser les extensions de chunks avant transmission à Jetty
•   Désactiver le support des connexions HTTP/1.1 persistantes entre le proxy et le backend

Solutions ou recommandations

•   Eclipse Jetty version 9.4.60 et supérieures
•   Eclipse Jetty version 10.0.28 et supérieures
•   Eclipse Jetty version 11.0.28 et supérieures
•   Eclipse Jetty version 12.0.33 et supérieures
•   Eclipse Jetty version 12.1.7 et supérieures