CVE-2026-69247

Source
https://cve.org/CVERecord?id=CVE-2026-69247
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-69247.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-69247
Aliases
Downstream
Related
Published
2026-08-03T21:16:32.047Z
Modified
2026-08-05T03:32:40.547456959Z
Severity
  • 8.2 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
cryptography: PKCS#7 EnvelopedData decryption exposes a Bleichenbacher oracle through distinguishable errors and timing
Details

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. From 44.0.0 until 50.0.0, pkcs7decryptder, pkcs7decryptpem, and pkcs7decryptsmime 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.

Database specific
{
    "cwe_ids": [
        "CWE-208",
        "CWE-209"
    ],
    "cna_assigner": "GitHub_M",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/69xxx/CVE-2026-69247.json",
    "unresolved_ranges": [
        {
            "source": "AFFECTED_FIELD",
            "extracted_events": [
                {
                    "introduced": "44.0.0"
                },
                {
                    "fixed": "50.0.0"
                }
            ]
        }
    ]
}
References

Affected packages

Git / github.com/pyca/cryptography

Affected ranges

Type
GIT
Repo
https://github.com/pyca/cryptography
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
{
    "source": "REFERENCES"
}

Affected versions

0.*
0.1
0.2
0.3
0.4
0.5
0.5.1
0.6
0.7
0.8
0.9
1.*
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.*
2.0
2.1
2.2
2.3
2.4
2.4.1
2.5
2.6
2.6.1
2.7
2.8
2.9
3.*
3.0
3.1
3.2
3.3
3.4
35.*
35.0.0
36.*
36.0.0
37.*
37.0.0
38.*
38.0.0
39.*
39.0.0
40.*
40.0.0
41.*
41.0.0
42.*
42.0.0
43.*
43.0.0
44.*
44.0.0
45.*
45.0.0
46.*
46.0.0
46.0.1
47.*
47.0.0
48.*
48.0.0
49.*
49.0.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-69247.json"