cryptography: PKCS#7 EnvelopedData decryption exposes a Bleichenbacher oracle through distinguishable errors and timing
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Attack requirements
- Present
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Partial Red Hat: 2 fixed, 5 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-208.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| pyca | cryptography | 44.0.0 to before 50.0.0 | 50.0.0 | Patch available | CNA |
| — | cryptography (PyPI) | 44.0.0 to before 50.0.0 | 50.0.0 | Patch available | GHSA-g6cj-pr64-35w5 |
- cryptography Vendorpyca Affected 44.0.0 to before 50.0.0 Fixed in 50.0.0 Patch available CNA
- cryptography (PyPI) Vendor— Affected 44.0.0 to before 50.0.0 Fixed in 50.0.0 Patch available GHSA-g6cj-pr64-35w5
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:cryptography.io:cryptography:*:*:*:*:*:*:*:* | — | — | Cryptography.io |
- cpe:2.3:a:cryptography.io:cryptography:*:*:*:*:*:*:*:* Versions — — ·Cryptography.io
Remediation
- Fix · CNA cryptography (pyca) Fixed in 50.0.0
- Fix · GHSA-g6cj-pr64-35w5 cryptography (PyPI) Fixed in 50.0.0 Advisory →
Red Hat 5 advisories
- RHSA-2026:70995 Released 2026-09-23 · Red Hat rating ImportantRed Hat AI Inference 3.4.5 (rocm)
- Red Hat AI Inference Server 3.4 registry.redhat.io/rhaii/vllm-rocm-rhel9
- RHSA-2026:70979 Released 2026-09-23 · Red Hat rating ImportantRed Hat AI Inference 3.4.5 (cuda)
- Red Hat AI Inference Server 3.4 registry.redhat.io/rhaii/vllm-cuda-rhel9
- RHSA-2026:70969 Released 2026-09-23 · Red Hat rating ImportantRed Hat AI Inference 3.4.5 (spyre)
- Red Hat AI Inference Server 3.4 registry.redhat.io/rhaii/vllm-spyre-rhel9
Show 2 more Red Hat advisories
- RHSA-2026:70965 Released 2026-09-23 · Red Hat rating ImportantRed Hat AI Inference 3.4.5 (cpu)
- Red Hat AI Inference Server 3.4 registry.redhat.io/rhaii/vllm-cpu-rhel9
- RHSA-2026:55543 Released 2026-08-17 · Red Hat rating ImportantRed Hat Hardened Images RPMs bug fix and enhancement update
- Red Hat Hardened Images python-cryptography-50.0.0-1.hum1@src, python3-cryptography-50.0.0-1.hum1@aarch64, python3-cryptography-50.0.0-1.hum1@x86_64
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Ansible Automation Platform 2 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet: Fix deferred |
| Red Hat Satellite 6 | Affected | No fix yet: Fix deferred |
| Red Hat AI Inference Server 3.4 | Fixed | RHSA-2026:70965, RHSA-2026:70969, RHSA-2026:70979, RHSA-2026:70995 |
| Red Hat Hardened Images | Fixed | RHSA-2026:55543 |
Not affected: 3 products
- Red Hat Ansible Automation Platform 2
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
Timeline
- 2026-10-02 Threatist record created from CVE-2026-69247
- 2026-10-03 Alias added: GHSA-g6cj-pr64-35w5
- 2026-11-06 Affected versions changed · Red Hat
References
More pyca vulnerabilities
- TI-2026-48588 python-cryptography: Duplicate self-signed intermediates can cause exponential path-building CVSS 4.0HIGH 8.7
- TI-2026-48587 python-cryptography verifier accepts wildcard DNS names allowing escape from permittedSubtrees CVSS 4.0MEDIUM 6.9
Sources
- CVE-2026-69247 · CVE Program
- CVE-2026-69247 · NVD
- FIRST EPSS
- GHSA-g6cj-pr64-35w5 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-69247 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences