CVE-2026-46585
Apache Camel Lucene : les en-têtes de contrôle de requête utilisaient des noms non préfixés par Camel (QUERY, RETURN_LUCENE_DOCS) qui contournent le filtre d'en-têtes HTTP, permettant à un client HTTP d'injecter la requête de recherche en texte intégral
- Publié
- 6 juil. 2026
- Mise à jour
- 6 juil. 2026
- Attribution de CNA
- apache
- Preuve observée
- 7 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NFaible · 30 prochains jours
- Percentile
- 48,5 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
Validation d’entrée incorrecte, vulnérabilité de contournement d’autorisation via une clé contrôlée par l’utilisateur dans le composant Lucene d’Apache Camel. Le producteur camel-lucene lit la phrase de recherche à partir d’un en-tête Exchange (LuceneConstants.HEADER_QUERY) dont la valeur était la chaîne simple QUERY (et RETURN_LUCENE_DOCS pour HEADER_RETURN_LUCENE_DOCS). Comme ces noms ne commencent pas par le préfixe Camel / camel, HttpHeaderFilterStrategy — qui bloque uniquement l’espace de noms des en-têtes Camel à la frontière HTTP — les laisse passer d’une requête HTTP entrante directement dans l’Exchange. Dans une route qui expose une opération de requête Lucene derrière un consommateur HTTP (par exemple platform-http), tout client HTTP pouvait donc définir l’en-tête QUERY et faire exécuter sa valeur contre l’index plein texte, en remplaçant la requête que la route avait l’intention d’exécuter. Selon ce qui est indexé, cela permet de lire des documents auxquels la requête ne devrait pas avoir accès (par exemple, une requête match-all renvoie l’intégralité de l’index, ou le filtre par utilisateur prévu par la route peut être remplacé), et des requêtes à expressions régulières coûteuses peuvent consommer une quantité importante de CPU. Aucune information d’identification n’est requise lorsque le consommateur HTTP n’est pas authentifié. Ce problème affecte Apache Camel : de 4.0.0 avant 4.14.8, de 4.15.0 avant 4.18.3, de 4.19.0 avant 4.21.0. Il est recommandé aux utilisateurs de mettre à niveau vers la version 4.21.0, qui corrige le problème. Si les utilisateurs sont sur le flux de versions LTS 4.14.x, il leur est suggéré de passer à 4.14.8. Si les utilisateurs sont sur le flux de versions 4.18.x, il leur est suggéré de passer à 4.18.3. Après la mise à niveau, les routes qui définissent la requête via le nom d’en-tête brut doivent utiliser CamelLuceneQuery (et CamelLuceneReturnLuceneDocs) au lieu de QUERY / RETURN_LUCENE_DOCS. Pour les déploiements qui ne peuvent pas être mis à niveau immédiatement, supprimez les en-têtes contrôlables par l’attaquant avant le producteur Lucene et définissez la requête à partir d’une source fiable (par exemple removeHeader('QUERY') et removeHeader('RETURN_LUCENE_DOCS'), puis setHeader('QUERY', constant(...)) au début de la route).
Sources
1Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.