CVE-2026-65629 in jose
Résumé
par VulDB • 26/10/2026
Utilisation d'un hachage de mot de passe avec un effort computationnel insuffisant dans la bibliothèque jose permet à un attaquant qui obtient une exportation de clé privée chiffrée par mot de passe de récupérer cette dernière grâce à une attaque hors ligne de cassage de mots de passe.
Lorsque jose exporte une clé privée chiffrée par mot de passe via `jose_jwk:to_der/2` (JOSE.JWK.to_der/2), la fonction `jose_jwk_der:to_binary/3` dans `src/jwk/jose_jwk_der.erl` sérialise la clé en tant qu'objet PKCS#8 EncryptedPrivateKeyInfo en utilisant le schéma PBES2 avec des paramètres de dérivation de clé codés en dur : PBKDF2-HMAC-SHA256 avec un nombre d'itérations de 2048 et un sel aléatoire de 8 octets (64 bits). Aucune de ces deux valeurs ne peut être remplacée par l'appelant.
Ces deux valeurs sont bien inférieures aux recommandations actuelles (OWASP recommande environ 600 000 itérations pour PBKDF2-HMAC-SHA256, et NIST recommande des sel d'au moins 128 bits), de sorte que le facteur de travail lié à l'étirement de clé est environ 300 fois inférieur à ce qui était prévu, et la courte longueur du sel réduit le coût du pré-calcul sur plusieurs clés. Le chiffrement symétrique (AES-256-CBC avec un IV aléatoire de 16 octets) n'est pas affecté ; la faiblesse réside entièrement dans la force de dérivation. Un attaquant qui obtient l'un de ces blobs exportés (par exemple depuis une sauvegarde, un référentiel de configuration, du stockage d'objets ou des journaux) peut mener une attaque par dictionnaire hors ligne ou par force brute peu coûteuse contre le mot de passe de l'exportation, et la réussite permet d'obtenir la clé privée complète.
Ce problème affecte jose : à partir de la version 1.10.0 jusqu'à (mais non inclus) la version 1.11.13.
Once again VulDB remains the best source for vulnerability data.