Apache - CVE-2026-78164

Date de publication :

Il s’agit d’une vulnérabilité dans les producteurs HTTP d’Apache Camel.

Apache Camel est un framework d’intégration open source écrit en Java. Il applique les modèles d’intégration d’entreprise et relie des systèmes par des routes. Il fournit des composants pour de nombreux protocoles et technologies, comme HTTP, JMS, les fichiers ou les bases de données. Il est souvent embarqué dans des applications et des intergiciels.

Un message entrant peut remplacer l’URI de destination par les en-têtes CamelHttpUri et CamelRestHttpUri. Le producteur passe cette valeur dans la résolution des espaces réservés de propriétés avant de l’utiliser. Cette fonction sert à la configuration et non à l’analyse d’une URI. Elle atteint les variables d’environnement, les propriétés système de la JVM et les fonctions de secrets (AWS, Azure, GCP, HashiCorp, IBM, CyberArk et Kubernetes). Elle atteint aussi, via camel-bean, une méthode sans argument de n’importe quel bean du registre. Une simple route statique suffit. L’auteur de la route n’a rien à activer. Sept points d’appel sont touchés dans cinq composants. L’option bridgeEndpoint ne protège pas. Elle bloque la surcharge à la construction de l’URL mais pas à la lecture de la chaîne de requête. L’en-tête CamelRestHttpUri est lu avant tout contrôle bridgeEndpoint. Seul camel-http propose l’option skipControlHeaders, désactivée par défaut. L’injection d’en-tête n’est pas toujours nécessaire. Plusieurs consommateurs HTTP Camel remplissent CamelHttpUri depuis la ligne de requête, comme fonction de reverse proxy documentée. Un espace réservé non résolu produit une erreur qui reprend l’URI. Cette erreur révèle si une clé de configuration existe, même sans requête sortante. Le comportement date des composants camel-http4 et camel-netty4. Le correctif supprime la résolution sur ces en-têtes.

Elle permet à un attaquant non authentifié qui influence ces en-têtes de lire des valeurs de configuration et des secrets, de les insérer dans la requête sortante et d’invoquer des méthodes de beans du registre.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Oui

Risques

•   Atteinte à la confidentialité des données
•   Atteinte à l'intégrité des données

Exploitation

La vulnérabilité exploitée est du type
CWE-200 : Exposure of Sensitive Information to an Unauthorized Actor

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Faible
•   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
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.

Systèmes ou composants affectés

  • Apache Camel versions 4.0.0 jusqu’à 4.18.4

  • Apache Camel versions 4.19.0 jusqu’à 4.22.0
  • Apache Camel versions 4.14.x et antérieures

Contournement provisoire

•   Supprimer les en-têtes CamelHttpUri et CamelRestHttpUri à la frontière de confiance, avant le producteur, avec removeHeader.
•   Activer skipControlHeaders=true sur les endpoints camel-http, seul composant qui offre l’option.
•   bridgeEndpoint=true n’est pas un contournement.
•   L’encodage en pourcentage des délimiteurs n’est pas une parade pour camel-netty-http, et les règles de proxy ou de WAF écrites sur les délimiteurs bruts sont inefficaces.
•   En défense en profondeur, appliquer un HeaderFilterStrategy strict sur les consommateurs exposés et résoudre les secrets par un coffre plutôt que par des variables d’environnement.

Solutions ou recommandations

•   Branche 4.18.x : Apache Camel versions 4.18.5 et supérieures
•   Branche 4.22.x : Apache Camel versions 4.22.1 et supérieures
•   Branche principale : Apache Camel versions 4.23.0 et supérieures