Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-85317 — Preuve de concept Spring Boot exécutable reproduisant CVE-2026-85317, où le cache de jetons OAuth2 de camel-http ignore le scope, la ressource et le point de terminaison de jeton, ainsi qu'un contrôle corrigé. | Kitploit
Outils/GitHubGitHub/oscerd/cve-2026-85317
Analyse des VulnérabilitésExploitationExploitation d'Applications WebAuthentificationApprentissage et Éducation
GitHuboscerd/cve-2026-85317

CVE-2026-85317

Preuve de concept Spring Boot exécutable reproduisant CVE-2026-85317, où le cache de jetons OAuth2 de camel-http ignore le scope, la ressource et le point de terminaison de jeton, ainsi qu'un contrôle corrigé.

Voir le dépôt
4il y a 1 jourPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-85317 — camel-http : confusion du cache de jetons OAuth2

Reproducteur de preuve de concept exécutable pour la vulnérabilité Apache Camel où le cache de jetons du client OAuth2 de camel-http — une map static globale à la JVM — indexait ses entrées uniquement sur (uri, clientId, clientSecret), en omettant les champs qui définissent réellement le jeton : le scope demandé, l'indicateur de ressource et le point de terminaison de jeton. Deux points de terminaison ne différant que par ces champs partageaient donc une entrée de cache, si bien qu'un point de terminaison pouvait se voir servir un jeton émis pour un scope différent, une ressource différente, ou par un serveur d'autorisation différent — une requête portant une autorité plus large que celle pour laquelle le point de terminaison était configuré, ou un jeton présenté à une partie pour laquelle il n'avait pas été émis (CWE-524).

Spring Boot uniquement. Ce reproducteur ne contient qu'un seul module Camel Spring Boot. La faille se trouve dans le client OAuth2 de camel-http, qui dispose également d'une extension camel-quarkus-http ; mais dans le packaging JVM de cette extension, les options client oauth2* au niveau du point de terminaison ne sont pas appliquées comme elles le sont sous Spring Boot (l'intercepteur de requêtes OAuth2 qui possède le cache de jetons n'est jamais câblé, si bien que le point de terminaison de jeton n'est jamais appelé) — la même limitation documentée pour CVE-2026-85251. Le module Spring Boot démontre le comportement affecté et le comportement corrigé.

RuntimeRépertoirePile
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-http 4.22.0 (affecté ; corrigé en 4.22.1)

Ce que cela démontre

Le pilote reproduit le propre test de non-régression du correctif (HttpOAuth2TokenCachingTest). Deux serveurs HTTP jetables s'exécutent au sein du processus : un point de terminaison de jeton qui émet un jeton bearer, et une cible qui l'exige. Le vérificateur (/exploit/attack) :

  1. effectue une première requête vers la cible avec oauth2CacheTokens=true&oauth2Scope=read — un jeton est émis et mis en cache ;
  2. arrête le point de terminaison de jeton ;
  3. effectue une seconde requête, identique à l'exception de oauth2Scope=read+write.
  • Affecté : la clé de cache ignore le scope, donc la seconde requête obtient un succès de cache et réutilise le jeton read — elle réussit bien que le point de terminaison de jeton soit arrêté (aucun jeton frais ne pourrait être émis).
  • Corrigé : le scope fait partie de la clé, donc la seconde requête rate le cache et tente d'émettre un jeton frais ; avec le point de terminaison de jeton arrêté, la connexion échoue (HttpHostConnectException).
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: 2nd request 200 (reused read token); >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85317-http-oauth2-token-cache-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: 2nd request HttpHostConnectException; >>> Not exploited

Résumé de la vulnérabilité

PropriétéValeur
Composantcamel-http (OAuth2ClientConfigurer, cache de jetons)
CWECWE-524 (Utilisation d'un cache contenant des informations sensibles)
GravitéMOYENNE
Vecteur d'attaqueUn déploiement configure plusieurs points de terminaison OAuth2 ne différant que par le scope, l'indicateur de ressource ou le point de terminaison de jeton ; ils partagent le cache de jetons global au JVM
ImpactUn point de terminaison se voit servir un jeton émis pour un autre scope/ressource/serveur d'autorisation — une autorité plus large que celle configurée, ou un jeton présenté à la mauvaise partie
Versions affectéesÀ partir de 4.0.0 avant 4.18.5, à partir de 4.19.0 avant 4.22.1
Versions corrigées4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24456
CréditClaude Security Scan Tool

Avis : https://camel.apache.org/security/CVE-2026-85317.html

Le correctif

OAuth2ClientConfigurer étend l'enregistrement de clé de cache OAuth2URIAndCredentials pour inclure le point de terminaison de jeton, le scope et l'indicateur de ressource, afin que les entrées ne soient plus partagées entre des points de terminaison qui diffèrent sur l'un de ces champs.

Atténuation si vous ne pouvez pas mettre à jour

Exécutez les points de terminaison qui diffèrent par le scope, l'indicateur de ressource ou le point de terminaison de jeton dans des JVM séparées afin qu'ils ne partagent pas le cache statique.

Avertissement

Ce dépôt est publié à des fins éducatives et défensives : pour aider les utilisateurs d'Apache Camel à comprendre la vulnérabilité, vérifier s'ils sont affectés et confirmer que la mise à jour la résout. Le jeton (xxx.yyy.zzz), l'identifiant client et le secret sont des valeurs de remplacement inoffensives et les deux serveurs HTTP s'exécutent en processus. N'utilisez pas ce matériel contre des systèmes que vous ne possédez pas ou n'exploitez pas.

Télécharger l’outil