CVE-2026-69247
HighCVSS 8.2Exploitation Probability (EPSS)
Low risk19th percentile - higher than 19% of all known CVEs
Summary
cryptography, a cryptographic library for Python, versions 44.0.0 through 50.0.0, is vulnerable to a Bleichenbacher-style attack. Functions pkcs7_decrypt_der, pkcs7_decrypt_pem, and pkcs7_decrypt_smime reveal differences in decrypting encryptedKey, which can be exploited to decrypt the content-encryption key. Exploitation requires a service auto-decrypting untrusted EnvelopedData, e.g., S/MIME gateways. Fixed in version 50.0.0.
Risk Assessment
An attacker can decrypt sensitive data transmitted via S/MIME, posing a serious confidentiality breach.
Recommendation
Update the cryptography library to version 50.0.0 or later.
Other vulnerabilities in cryptography
See all- CVE-2024-26130High
The cryptography library versions 38.0.0 through 42.0.4 contains a NULL pointer dereference vulnerability in pkcs12.serialize_key_and_certificates when a certificate does not match the private key and an encryption_algorithm with hmac_hash is set. This can crash the Python process.
- CVE-2026-39892Critical
The cryptography library for Python versions 45.0.0 through 46.0.6 contains a buffer overflow vulnerability. The issue occurs when a non-contiguous buffer is passed to APIs that accept Python buffers (e.g., Hash.update()). The flaw is fixed in version 46.0.7.
- CVE-2020-36242Critical
In the cryptography package for Python before version 3.3.2, sequences of update calls for symmetric encryption of multi-GB data can cause integer overflow and buffer overflow, as demonstrated with the Fernet class.
- CVE-2026-69248Medium
The cryptography package for Python in versions 45.0.0 through 48.0.0 has a vulnerability in certificate chain verification. If an intermediate constrained CA permits the DNS name foo.example.com, and the leaf certificate has a wildcard *.example.com, the verifier accepts the chain, allowing escape outside permitted names. Fixed in version 49.0.0.
- CVE-2026-34073Medium
cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to version 46.0.6, DNS name constraints were only validated against SANs within child certificates, and not the "peer name" presented during each validation. Consequently, cryptography would allow a peer named bar.example.com to validate against a wildcard leaf certificate for *.example.com, even if the leaf's parent certificate (or upwards) contained an excluded subtree constraint for bar.example.com. This issue has been patched in version 46.0.6.
- CVE-2026-26007Medium
The cryptography library for Python before version 46.0.5 does not verify that a public key point belongs to the expected prime-order subgroup. This missing validation allows an attacker to provide a point from a small-order subgroup, leading to private key leakage in ECDH and signature forgery in ECDSA. Only SECT curves are affected.
Original NVD description (English source)
cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. From 44.0.0 until 50.0.0, pkcs7_decrypt_der, pkcs7_decrypt_pem, and pkcs7_decrypt_smime reported the outcome of decrypting a RecipientInfo's encryptedKey in several distinguishable ways, one of which disclosed the exact length recovered from the RSA operation. The same distinction was also observable by timing. An application that decrypts attacker-supplied EnvelopedData and reflects the outcome gives the attacker a Bleichenbacher oracle against the content-encryption key. Decryption ran as RSA PKCS#1 v1.5 decrypt of encryptedKey, build an AES cipher from the result, then AES-CBC decrypt and PKCS#7 unpad. Invalid RSA padding, a valid padding with a bad key length, a correct length with a wrong key, and the real key each failed or succeeded differently. Case 1 is reachable only where the linked library lacks implicit rejection: OpenSSL 3.0 and 3.1, LibreSSL, and BoringSSL. Exploitation requires a service that auto-decrypts untrusted EnvelopedData matching the victim certificate and answers adaptively at high volume, such as an S/MIME gateway or mail filter. This issue is fixed in 50.0.0.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

