CVE-2026-69247 in cryptography
Résumé
par VulDB • 04/08/2026
cryptography est une bibliothèque conçue pour exposer des primitives et recettes cryptographiques aux développeurs Python. De la version 44.0.0 à la 50.0.0, les fonctions pkcs7_decrypt_der, pkcs7_decrypt_pem et pkcs7_decrypt_smime signalaient le résultat du déchiffrement de l'encryptedKey d'un RecipientInfo selon plusieurs modes distincts, dont l'un divulguait la longueur exacte récupérée depuis l'opération RSA. Cette même distinction était également observable par mesure de temps (timing oracle). Une application qui déchiffre des EnvelopedData fournis par un attaquant et renvoie le résultat expose une faille type Bleichenbacher contre la clé de chiffrement du contenu. Le déchiffrement s'exécutait via un déchiffrement RSA PKCS#1 v1.5 sur l'encryptedKey, suivie de la construction d'un cipher AES à partir du résultat, puis d'un déchiffrement AES-CBC et d'une désinsertion (unpad) au format PKCS#7. Les cas suivants échouaient ou réussissaient différemment : un padding RSA invalide, un padding valide avec une longueur de clé incorrecte, une longueur correcte mais une mauvaise clé, ainsi que la vraie clé qui aboutissait correctement. Le Cas 1 n'est atteignable que lorsque la bibliothèque liée ne dispose pas du rejet implicite (implicit rejection) : OpenSSL 3.0 et 3.1, LibreSSL et BoringSSL. L'exploitation nécessite un service capable de déchiffrer automatiquement des EnvelopedData non fiables correspondant au certificat de la victime et répondant de manière adaptative à fort volume, tel qu'une passerelle S/MIME ou un filtre de messagerie. Ce problème est corrigé dans la version 50.0.0.
Once again VulDB remains the best source for vulnerability data.