CVE-2023-48223
fast-jwt Confusion d'algorithme JWT
- Publié
- 20 nov. 2023
- Mise à jour
- 2 août 2024
- Attribution de CNA
- GitHub_M
- Preuve observée
- 8 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:NFaible · 30 prochains jours
- Percentile
- 50,6 %
- 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é
fast-jwt fournit une implémentation rapide de JSON Web Token (JWT). Avant la version 3.3.2, la bibliothèque fast-jwt ne prévient pas correctement la confusion d'algorithmes JWT pour tous les types de clés publiques. Le 'publicKeyPemMatcher' dans 'fast-jwt/src/crypto.js' ne correspond pas correctement à tous les formats PEM courants pour les clés publiques. Pour exploiter cette vulnérabilité, un attaquant doit créer un jeton JWT malveillant contenant l'algorithme HS256, signé avec la clé publique RSA de l'application victime. Cette attaque ne fonctionnera que si l'application victime utilise une clé publique contenant l'en-tête `BEGIN RSA PUBLIC KEY`. Les applications utilisant l'algorithme RS256, une clé publique avec un en-tête `BEGIN RSA PUBLIC KEY`, et appelant la fonction verify sans fournir explicitement un algorithme, sont vulnérables à cette attaque de confusion d'algorithmes qui permet aux attaquants de signer des charges utiles arbitraires qui seront acceptées par le vérificateur. La version 3.3.2 contient un correctif pour ce problème. Comme solution de contournement, modifiez la ligne 29 de `blob/master/src/crypto.js` pour inclure une expression régulière.
Sources
1Preuve de concept démontrant la confusion d'algorithme JWT dans la bibliothèque fast-jwt. Comprend un serveur vulnérable, un script de falsification de jetons et une correction de vérification pour l'éducation à la sécurité.
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.