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-85301 — Reproducteur de preuve de concept exécutable pour le contournement de la validation de l'émetteur camel-keycloak d'Apache Camel (CWE-287), démontrant le comportement affecté et corrigé dans Spring Boot et Quarkus. | Kitploit
Outils/GitHubGitHub/oscerd/cve-2026-85301
Outils DéfensifsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebAuthentificationApprentissage et Éducation
GitHuboscerd/cve-2026-85301

CVE-2026-85301

Reproducteur de preuve de concept exécutable pour le contournement de la validation de l'émetteur camel-keycloak d'Apache Camel (CWE-287), démontrant le comportement affecté et corrigé dans Spring Boot et Quarkus.

Voir le dépôt
2il 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-85301 — camel-keycloak : contournement de la validation de l'émetteur

Reproducteur de preuve de concept exécutable pour la vulnérabilité Apache Camel où le KeycloakSecurityProcessor de camel-keycloak validait l'émetteur d'un jeton introspecté uniquement lorsque la réponse d'introspection contenait effectivement une revendication iss. Lorsque la revendication était absente, la vérification était ignorée plutôt que traitée comme un échec, de sorte qu'un jeton que l'émetteur configuré n'avait pas émis pouvait être accepté — à condition que le point de terminaison d'introspection réponde active sans nommer d'émetteur. Lorsqu'un déploiement effectue une introspection auprès d'un point de terminaison qui omet iss et sert plus d'un émetteur, la conséquence est qu'il authentifie un appelant qu'il aurait dû rejeter (CWE-287).

RuntimeRépertoirePile
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-keycloak 4.22.0 (affecté ; corrigé en 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-keycloak (Camel 4.22.0, affecté ; contrôle corrigé CQ 3.40.0 / Camel 4.22.1)

Les deux modules démontrent le comportement affecté et le comportement corrigé face au véritable KeycloakSecurityProcessor.

Ce que cela démontre

Le pilote configure un KeycloakSecurityPolicy avec validateIssuer=true (émetteur attendu http://localhost:8080/realms/test-realm) et un introspecteur de jeton qui signale le jeton comme actif mais ne renvoie aucune revendication iss — exactement ce que produit un point de terminaison d'introspection de broker/passerelle, puisque la RFC 7662 rend iss facultatif. Il pilote ensuite un KeycloakSecurityProcessor avec un en-tête Authorization: Bearer <attacker-token> et indique si la route protégée est atteinte.

  • Affecté : l'absence de iss fait que le processeur ignore la vérification de l'émetteur, de sorte que le jeton est accepté et que la route est atteinte — un jeton provenant d'un émetteur non prévu est authentifié.
  • Corrigé : un iss absent constitue un échec de validation ; le processeur lève une CamelAuthorizationException (« Token issuer missing… ») et la route n'est jamais atteinte.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: route reached, token accepted; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85301-keycloak-issuer-bypass-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: CamelAuthorizationException "Token issuer missing"; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.22.0): route reached, token accepted
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: CamelAuthorizationException "Token issuer missing"

Résumé de la vulnérabilité

PropriétéValeur
Composantcamel-keycloak (KeycloakSecurityProcessor.validateIssuerFromIntrospection)
CWECWE-287 (Authentification incorrecte)
GravitéMOYENNE
Vecteur d'attaqueUn jeton provenant d'un émetteur non prévu, introspecté auprès d'un endpoint qui omet iss et dessert plus d'un émetteur, alors que validateIssuer=true
ImpactLe déploiement authentifie un appelant dont le jeton n'a pas été émis par l'émetteur configuré
Versions affectéesÀ partir de 4.15.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-24448
CréditClaude Security Scan Tool

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

Le module Quarkus affecté est construit sur CQ 3.39.0 (Camel 4.22.0), où camel-quarkus-keycloak correspond à une version de Camel affectée. Le correctif est intégré dans CQ 3.40.0 (Camel 4.22.1).

Le correctif

KeycloakSecurityProcessor traite désormais l'absence de la revendication iss comme un échec de validation : lorsque la validation de l'émetteur est activée et que le résultat de l'introspection ne porte aucun émetteur, il lève CamelAuthorizationException au lieu de retourner prématurément et de laisser passer la requête. Le code précédent ignorait la comparaison dès que la revendication était absente, ce qui laissait l'émetteur non vérifié précisément pour les jetons qui ne nommaient aucun émetteur.

Atténuation si vous ne pouvez pas mettre à jour

Assurez-vous que l'endpoint d'introspection renvoie la revendication iss et ne dessert qu'un seul émetteur, afin qu'un jeton provenant de tout autre émetteur soit soit nommé (et rejeté), soit jamais introspecté comme actif.

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. L'introspecteur de jetons est un stub en processus et aucun serveur Keycloak réel ni appel réseau n'est impliqué ; le « jeton d'attaquant » est une chaîne de remplacement opaque. N'utilisez pas ce contenu contre des systèmes que vous ne possédez pas ou n'exploitez pas.

Télécharger l’outil