CVE-2026-53913
Apache Camel Keycloak : KeycloakSecurityPolicy ne vérifie le jeton d'accès porteur que dans ses contrôles de rôle et d'autorisation, de sorte que dans la configuration par défaut, le jeton n'est jamais vérifié et toute valeur de porteur non nulle est acceptée.
- Publié
- 6 juil. 2026
- Mise à jour
- 7 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:H/A:HFaible · 30 prochains jours
- Percentile
- 63,3 %
- 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é
# Vulnérabilité d'authentification incorrecte, d'absence d'authentification pour une fonction critique et d'échec non sécurisé (« Failing Open ») dans le composant Keycloak d'Apache Camel La `KeycloakSecurityPolicy` de camel-keycloak protège une route en exécutant `KeycloakSecurityProcessor.beforeProcess()`, qui effectue trois vérifications en séquence : elle rejette une requête sans jeton d'accès, puis — uniquement si `requiredRoles` n'est pas vide — valide les rôles, et — uniquement si `requiredPermissions` n'est pas vide — valide les permissions. La vérification cryptographique réelle du jeton d'accès Bearer (signature, émetteur et expiration pour un JWT local, ou état actif et émetteur pour l'introspection de jeton) est effectuée exclusivement dans ces vérifications de rôles et de permissions. `KeycloakSecurityPolicy` définit par défaut `requiredRoles` et `requiredPermissions` à vide — ce qui correspond à la « configuration de base » documentée — de sorte que sur une route configurée de cette manière, les vérifications de rôles et de permissions sont ignorées et le jeton d'accès n'est donc jamais vérifié. La vérification de présence du jeton rejette toujours un jeton manquant, mais un jeton invalide est accepté : toute valeur non nulle dans l'en-tête `Authorization: Bearer` — y compris une chaîne arbitraire ou un JWT forgé non signé — passe la politique et la requête atteint la route protégée, sans vérification de signature, d'émetteur ou d'expiration et sans requête vers Keycloak. Le jeton est lu depuis l'en-tête de la requête entrante car `allowTokenFromHeader` est défini à `true` par défaut. Étant donné que la raison habituelle de placer une route derrière cette politique est que la route effectue un travail côté serveur, la contournement entraîne un accès non authentifié à ce travail ; lorsque la route protégée transmet à un producteur capable d'exécuter du code, cela peut entraîner une exécution de code à distance non authentifiée. Ce défaut est indépendant de CVE-2026-23552 : ce problème concernait la revendication de l'émetteur et a été corrigé en ajoutant une vérification dans la routine de vérification, mais ici la routine de vérification n'est pas atteinte du tout dans la configuration par défaut, de sorte que le défaut persiste. Ce problème affecte Apache Camel : 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 la série de versions 4.18.x, il leur est suggéré de passer à la version 4.18.3. Pour les déploiements qui ne peuvent pas être mis à niveau immédiatement, configurez un `requiredRoles` ou un `requiredPermissions` non vide sur chaque `KeycloakSecurityPolicy` afin que le chemin de vérification du jeton soit exercé, définissez `allowTokenFromHeader` à `false` lorsque le jeton n'est pas attendu dans l'en-tête de la requête, ou effectuez la vérification du jeton au niveau du framework avant la politique.
Utilisation 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.