fast-jwt : La confusion de cache via des collisions cacheKeyBuilder peut renvoyer des revendications à partir d’un jeton différent (confusion identité/autorisation)
Plateforme
nodejs
Composant
fast-jwt
Corrigé dans
6.1.0
## Impact La configuration d’une méthode cacheKeyBuilder personnalisée qui ne crée pas correctement des clés uniques pour différents jetons peut entraîner des collisions de cache. Cela pourrait entraîner une mauvaise identification des jetons pendant le processus de vérification, ce qui entraînerait : - Des jetons valides renvoyant des revendications à partir de différents jetons valides - Des utilisateurs mal identifiés comme d’autres utilisateurs en fonction du mauvais jeton Cela pourrait entraîner : - L’usurpation d’identité d’un utilisateur : l’utilisateur B reçoit l’identité et les autorisations de l’utilisateur A - L’escalade de privilèges : les utilisateurs à faibles privilèges héritent d’un accès de niveau administrateur - L’accès aux données inter-locataires : les utilisateurs accèdent aux ressources d’autres locataires - Le contournement de l’autorisation : les décisions de sécurité sont prises sur la mauvaise identité de l’utilisateur ## Configurations affectées Cette vulnérabilité affecte UNIQUEMENT les applications qui : 1. Activer la mise en cache à l’aide de l’option de cache 2. Utiliser des fonctions cacheKeyBuilder personnalisées qui peuvent produire des collisions Exemples VULNÉRABLES : ``` // Sujet aux collisions : même audience = même clé de cache cacheKeyBuilder: (token) => { const { aud } = parseToken(token) return `aud=${aud}` } // Sujet aux collisions : regroupement par type d’utilisateur cacheKeyBuilder: (token) => { const { aud } = parseToken(token) return aud.includes('admin') ? 'admin-users' :
Comment corriger
Aucun correctif officiel disponible. Recherchez des alternatives ou surveillez les mises à jour.
Surveillez vos dépendances automatiquement
Recevez des alertes quand de nouvelles vulnérabilités affectent vos projets.
Commencer gratuitement