CVE-2026-69247
cryptography: PKCS#7 EnvelopedData decryption exposes a Bleichenbacher oracle through distinguishable errors and timing
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
8.2
cryptography: PKCS#7 EnvelopedData decryption exposes a Bleichenbacher oracle through distinguishable errors and timing
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.
- Record
CVE-2026-69247- CVSS 4.0
- 8.2 High
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 - Weakness
- CWE-208, CWE-209
- Updated
- 2026-11-02
EUVDEUVD-2026-52446
8.2
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.
- Record
EUVD-2026-52446- CVSS 4.0
- 8.2 High
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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-g6cj-pr64-35w5
8.2
cryptography: PKCS#7 EnvelopedData decryption exposes a Bleichenbacher oracle through distinguishable errors and timing
Summary
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.
Introduced in 44.0.0. Fixed in 50.0.0.
Details
Decryption ran as: RSA PKCS#1 v1.5 decrypt of encryptedKey → build an AES
cipher from the result → AES-CBC decrypt and PKCS#7 unpad. Each stage failed
differently, with no RFC 3218 mitigation:
- invalid RSA padding →
Decryption failed - valid padding, bad key length →
Invalid key size (N) for AES., disclosingN - correct length, wrong key →
Invalid padding bytes. - the real key → plaintext
Case 1 is reachable only where the linked library lacks implicit rejection: OpenSSL 3.0 and 3.1, LibreSSL, and BoringSSL. On OpenSSL 3.2+, used in our wheels, invalid padding instead returns a synthetic plaintext of pseudorandom length, so the error channel does not distinguish conforming ciphertexts.
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.
Fix
Per RFC 3218, the content-encryption algorithm is now resolved before the private key is used, so the expected key length is known in advance. If the RSA decryption fails or recovers a key of the wrong length, a random key of the expected length is substituted and decryption continues down an identical path. All failures now report identically and perform the same work.
Not addressed by this fix
EnvelopedData does not authenticate its content. Tampering with
encryptedContent alone yields a CBC padding oracle that recovers plaintext at
roughly 256 queries per byte, without recovering any key, on every backend. This
is a property of PKCS#7 rather than of this implementation, cannot be fixed in
the library, and is now documented.
Credit
Reported by @X1AOxiang.
- Record
GHSA-g6cj-pr64-35w5- CVSS 4.0
- 8.2 High
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 - Weakness
- CWE-208, CWE-209
- Updated
- 2026-11-02
NVD
8.2
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.
- Record
CVE-2026-69247- CVSS 4.0
- 8.2 High
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-208, CWE-209
- Updated
- 2026-11-02
OSV
8.2
cryptography: PKCS#7 EnvelopedData decryption exposes a Bleichenbacher oracle through distinguishable errors and timing
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.
- Record
CVE-2026-69247- CVSS 4.0
- 8.2 High
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 - Weakness
- CWE-208, CWE-209
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-69247
8.2
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.
- Record
DEBIAN-CVE-2026-69247- CVSS 4.0
- 8.2 High
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Updated
- 2026-11-02
Show 13 moreShow less
OSVGHSA-g6cj-pr64-35w5
8.2
cryptography: PKCS#7 EnvelopedData decryption exposes a Bleichenbacher oracle through distinguishable errors and timing
Summary
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.
Introduced in 44.0.0. Fixed in 50.0.0.
Details
Decryption ran as: RSA PKCS#1 v1.5 decrypt of encryptedKey → build an AES
cipher from the result → AES-CBC decrypt and PKCS#7 unpad. Each stage failed
differently, with no RFC 3218 mitigation:
- invalid RSA padding →
Decryption failed - valid padding, bad key length →
Invalid key size (N) for AES., disclosingN - correct length, wrong key →
Invalid padding bytes. - the real key → plaintext
Case 1 is reachable only where the linked library lacks implicit rejection: OpenSSL 3.0 and 3.1, LibreSSL, and BoringSSL. On OpenSSL 3.2+, used in our wheels, invalid padding instead returns a synthetic plaintext of pseudorandom length, so the error channel does not distinguish conforming ciphertexts.
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.
Fix
Per RFC 3218, the content-encryption algorithm is now resolved before the private key is used, so the expected key length is known in advance. If the RSA decryption fails or recovers a key of the wrong length, a random key of the expected length is substituted and decryption continues down an identical path. All failures now report identically and perform the same work.
Not addressed by this fix
EnvelopedData does not authenticate its content. Tampering with
encryptedContent alone yields a CBC padding oracle that recovers plaintext at
roughly 256 queries per byte, without recovering any key, on every backend. This
is a property of PKCS#7 rather than of this implementation, cannot be fixed in
the library, and is now documented.
Credit
Reported by @X1AOxiang.
- Record
GHSA-g6cj-pr64-35w5- CVSS 4.0
- 8.2 High
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 - Weakness
- CWE-208, CWE-209
- Updated
- 2026-11-02
OSVPYSEC-2026-3552
8.2
cryptography: PKCS#7 EnvelopedData decryption exposes a Bleichenbacher oracle through distinguishable errors and timing
Summary
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.
Introduced in 44.0.0. Fixed in 50.0.0.
Details
Decryption ran as: RSA PKCS#1 v1.5 decrypt of encryptedKey → build an AES
cipher from the result → AES-CBC decrypt and PKCS#7 unpad. Each stage failed
differently, with no RFC 3218 mitigation:
- invalid RSA padding →
Decryption failed - valid padding, bad key length →
Invalid key size (N) for AES., disclosingN - correct length, wrong key →
Invalid padding bytes. - the real key → plaintext
Case 1 is reachable only where the linked library lacks implicit rejection: OpenSSL 3.0 and 3.1, LibreSSL, and BoringSSL. On OpenSSL 3.2+, used in our wheels, invalid padding instead returns a synthetic plaintext of pseudorandom length, so the error channel does not distinguish conforming ciphertexts.
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.
Fix
Per RFC 3218, the content-encryption algorithm is now resolved before the private key is used, so the expected key length is known in advance. If the RSA decryption fails or recovers a key of the wrong length, a random key of the expected length is substituted and decryption continues down an identical path. All failures now report identically and perform the same work.
Not addressed by this fix
EnvelopedData does not authenticate its content. Tampering with
encryptedContent alone yields a CBC padding oracle that recovers plaintext at
roughly 256 queries per byte, without recovering any key, on every backend. This
is a property of PKCS#7 rather than of this implementation, cannot be fixed in
the library, and is now documented.
Credit
Reported by @X1AOxiang.
- Record
PYSEC-2026-3552- CVSS 4.0
- 8.2 High
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 - Updated
- 2026-11-02
OSVRHSA-2026:55543
9.1
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:55543- CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-69247
8.2
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.
- Record
UBUNTU-CVE-2026-69247- CVSS 4.0
- 8.2 High
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 - Updated
- 2026-11-02
OSVCLSA-2026-1788513782 No score
TuxCare security update for cryptography (2 CVEs)
TuxCare rebuilt cryptography to address 2 CVEs. Fixed in 46.0.7.post2+tuxcare.
- Record
CLSA-2026-1788513782- Updated
- 2026-11-02
OSVCLSA-2026-1789017625 No score
TuxCare security update for cryptography (2 CVEs)
TuxCare rebuilt cryptography to address 2 CVEs. Fixed in 45.0.7.post4+tuxcare.
- Record
CLSA-2026-1789017625- Updated
- 2026-11-02
OSVCLSA-2026-1789365078 No score
TuxCare security update for cryptography (2 CVEs)
TuxCare rebuilt cryptography to address 2 CVEs. Fixed in 44.0.3.post4+tuxcare.
- Record
CLSA-2026-1789365078- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11468-1 No score
python313-cryptography-50.0.0-1.1 on GA media
These are all security issues fixed in the python313-cryptography-50.0.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11468-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21685-1 No score
Security update for python-cryptography
This update for python-cryptography fixes the following issues:
- CVE-2026-69247: PKCS#7
EnvelopedDatadecryption exposes a Bleichenbacher oracle through distinguishable errors and timing (bsc#1273551). - CVE-2026-69248: verifier accepts wildcard DNS names allowing escape from
permittedSubtrees(bsc#1273549). - CVE-2026-69249: duplicate self-signed intermediates can cause exponential path-building (bsc#1273516).
- Record
openSUSE-SU-2026:21685-1- Updated
- 2026-11-02
OSVROOT-APP-PYPI-CVE-2026-69247 No score
CVE-2026-69247 in cryptography - Patched by Root
Root has patched CVE-2026-69247 in the cryptography package for Root:PyPI. Multiple fixed versions available.
- Record
ROOT-APP-PYPI-CVE-2026-69247- Updated
- 2026-11-02
OSVSUSE-SU-2026:23404-1 No score
Security update for python-cryptography
This update for python-cryptography fixes the following issues:
- CVE-2026-69247: PKCS#7
EnvelopedDatadecryption exposes a Bleichenbacher oracle through distinguishable errors and timing (bsc#1273551). - CVE-2026-69248: verifier accepts wildcard DNS names allowing escape from
permittedSubtrees(bsc#1273549). - CVE-2026-69249: duplicate self-signed intermediates can cause exponential path-building (bsc#1273516).
- Record
SUSE-SU-2026:23404-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23570-1 No score
Security update for python-cryptography
This update for python-cryptography fixes the following issues:
- CVE-2026-69247: PKCS#7
EnvelopedDatadecryption exposes a Bleichenbacher oracle through distinguishable errors and timing (bsc#1273551). - CVE-2026-69248: verifier accepts wildcard DNS names allowing escape from
permittedSubtrees(bsc#1273549). - CVE-2026-69249: duplicate self-signed intermediates can cause exponential path-building (bsc#1273516).
- Record
SUSE-SU-2026:23570-1- Updated
- 2026-11-02
OSVUSN-8776-1 No score
python-cryptography vulnerabilities
It was discovered that python-cryptography incorrectly accepted objects with immutable buffers when performing certain cipher operations. This would result in corrupted output, contrary to expectations. This issue only affected Ubuntu 18.04 LTS. (CVE-2023-23931)
It was discovered that python-cryptography reported the outcome of decrypting PKCS#7 enveloped data in distinguishable ways, and with observable timing differences. A remote attacker could possibly use this issue to recover the key used to encrypt the message contents, and obtain sensitive information. This issue only affected Ubuntu 26.04 LTS. (CVE-2026-69247)
Jack Lloyd discovered that python-cryptography incorrectly handled wildcard DNS names when enforcing the name constraints of a certificate authority. A remote attacker could possibly use this issue to have an invalid certificate chain accepted, and use names outside of the permitted ones. This issue only affected Ubuntu 26.04 LTS. (CVE-2026-69248)
Samuel Judson discovered that python-cryptography incorrectly handled certificate chains that contained duplicate certificates. A remote attacker could possibly use this issue to cause python-cryptography to use excessive resources, leading to a denial of service. This issue only affected Ubuntu 26.04 LTS. (CVE-2026-69249)
- Record
USN-8776-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
cryptographyPyPI |
44.0.0 up to 50.0.0 | 50.0.0 |
cryptographyTuxCare:PyPI From an advisory covering 2 CVEs |
46.0.7 up to 46.0.7.post2+tuxcare, plus listed versions 46.0.7.post1+tuxcare |
46.0.7.post2+tuxcare |
cryptographyTuxCare:PyPI From an advisory covering 2 CVEs |
45.0.7 up to 45.0.7.post4+tuxcare, plus listed versions 45.0.7.post1+tuxcare45.0.7.post2+tuxcare45.0.7.post3+tuxcare |
45.0.7.post4+tuxcare |
cryptographyTuxCare:PyPI From an advisory covering 2 CVEs |
44.0.3 up to 44.0.3.post4+tuxcare, plus listed versions 44.0.3.post1+tuxcare44.0.3.post2+tuxcare44.0.3.post3+tuxcare |
44.0.3.post4+tuxcare |
python-cryptographyDebian:14 |
before 49.0.0-2, plus listed versions 43.0.0-344.0.2-144.0.2-245.0.6-145.0.6-1~exp1 Show 10 moreShow less45.0.7-146.0.1-146.0.1-1~exp146.0.5-146.0.5-246.0.6-146.0.7-147.0.0-149.0.0-149.0.0-1~exp1 |
49.0.0-2 |
cryptographyPyPI |
44.0.0 up to 50.0.0, plus listed versions 44.0.144.0.244.0.345.0.045.0.1 Show 18 moreShow less45.0.245.0.345.0.445.0.545.0.645.0.746.0.046.0.146.0.246.0.346.0.446.0.546.0.646.0.747.0.048.0.048.0.149.0.0 |
50.0.0 |
python-cryptographyRed Hat:hummingbird:1 From an advisory covering 24 CVEs |
before 0:50.0.0-1.hum1 | 0:50.0.0-1.hum1 |
python3-cryptographyRed Hat:hummingbird:1 From an advisory covering 24 CVEs |
before 0:50.0.0-1.hum1 | 0:50.0.0-1.hum1 |
cryptographyRoot:PyPI |
before 48.0.0+aikido.4 | 48.0.0+aikido.446.0.7+aikido.448.0.1+aikido.246.0.6+aikido.549.0.0+aikido.246.0.5+aikido.746.0.3+aikido.844.0.0+aikido.245.0.7+aikido.545.0.5+aikido.946.0.1+aikido.646.0.3+aikido.944.0.0+aikido.348.0.0+aikido.548.0.1+aikido.346.0.7+aikido.246.0.7+aikido.344.0.0+aikido.146.0.5+aikido.545.0.5+aikido.846.0.5+aikido.649.0.0+aikido.145.0.7+aikido.446.0.3+aikido.646.0.3+aikido.746.0.1+aikido.548.0.0+aikido.346.0.6+aikido.448.0.1+aikido.149.0.0+aikido.348.0.1+aikido.448.0.0+aikido.644.0.0+aikido.445.0.5+aikido.1045.0.7+aikido.646.0.1+aikido.746.0.7+aikido.546.0.5+aikido.846.0.6+aikido.646.0.3+aikido.1047.0.0+aikido.546.0.4+aikido.7 |
python-cryptographySUSE:Linux Micro 6.2 From an advisory covering 3 CVEs |
before 44.0.3-160000.5.1 | 44.0.3-160000.5.1 |
Show 7 moreShow less
| Package | Affected | Fixed |
|---|---|---|
python-cryptographySUSE:Linux Enterprise Server 16.0 From an advisory covering 3 CVEs |
before 44.0.3-160000.5.1 | 44.0.3-160000.5.1 |
python-cryptographySUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 3 CVEs |
before 44.0.3-160000.5.1 | 44.0.3-160000.5.1 |
python-cryptographyUbuntu:26.04:LTS |
before 46.0.5-1ubuntu2.2, plus listed versions 43.0.0-1ubuntu146.0.1-1ubuntu246.0.5-1ubuntu146.0.5-1ubuntu2 |
46.0.5-1ubuntu2.2 |
python-cryptographyUbuntu:Pro:18.04:LTS From an advisory covering 4 CVEs |
before 2.1.4-1ubuntu1.4+esm6, plus listed versions 1.9-12.1.3-32.1.4-12.1.4-1build12.1.4-1build2 Show 7 moreShow less2.1.4-1ubuntu12.1.4-1ubuntu1.12.1.4-1ubuntu1.22.1.4-1ubuntu1.32.1.4-1ubuntu1.42.1.4-1ubuntu1.4+esm12.1.4-1ubuntu1.4+esm3 |
2.1.4-1ubuntu1.4+esm6 |
python-cryptographyUbuntu:26.04:LTS From an advisory covering 4 CVEs |
before 46.0.5-1ubuntu2.2, plus listed versions 43.0.0-1ubuntu146.0.1-1ubuntu246.0.5-1ubuntu146.0.5-1ubuntu2 |
46.0.5-1ubuntu2.2 |
python-cryptographyopenSUSE:Tumbleweed From an advisory covering 6 CVEs |
before 50.0.0-1.1 | 50.0.0-1.1 |
python-cryptographyopenSUSE:Leap 16.0 From an advisory covering 3 CVEs |
before 44.0.3-160000.5.1 | 44.0.3-160000.5.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-69247 is a high vulnerability (CVSS 8.2) in Pyca Cryptography, published August 3, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.27%, the 19th percentile. Fixed in cryptography 50.0.0.
References
github.com/pyca/cryptography/security/advisories/GHSA-g6cj-pr64-35w5
github.com/pyca/cryptography/pull/15369
github.com/pyca/cryptography/commit/53fccd93413a8d7f07d6d8999681f27b75cffa3f
github.com/advisories/GHSA-g6cj-pr64-35w5
github.com/CVEProject/cvelistV5/tree/main/cves/2026/69xxx/CVE-2026-69247.json
nvd.nist.gov/vuln/detail/CVE-2026-69247
Show 136 moreShow less
security-tracker.debian.org/tracker/CVE-2026-69247
github.com/pyca/cryptography
pypi.org/project/cryptography
access.redhat.com/errata/RHSA-2026:55543
images.redhat.com
access.redhat.com/security/cve/CVE-2026-54876
access.redhat.com/security/updates/classification
access.redhat.com/security/cve/CVE-2026-75803
access.redhat.com/security/cve/CVE-2026-69248
access.redhat.com/security/cve/CVE-2026-69249
access.redhat.com/security/cve/CVE-2026-69247
access.redhat.com/security/cve/CVE-2026-42769
access.redhat.com/security/cve/CVE-2026-42768
access.redhat.com/security/cve/CVE-2026-34181
access.redhat.com/security/cve/CVE-2026-34180
access.redhat.com/security/cve/CVE-2026-7383
access.redhat.com/security/cve/CVE-2026-45447
access.redhat.com/security/cve/CVE-2026-42766
access.redhat.com/security/cve/CVE-2026-45446
access.redhat.com/security/cve/CVE-2026-42767
access.redhat.com/security/cve/CVE-2026-45445
access.redhat.com/security/cve/CVE-2026-9076
access.redhat.com/security/cve/CVE-2026-34183
access.redhat.com/security/cve/CVE-2026-42765
access.redhat.com/security/cve/CVE-2026-42771
access.redhat.com/security/cve/CVE-2026-35188
access.redhat.com/security/cve/CVE-2026-42764
access.redhat.com/security/cve/CVE-2026-42770
access.redhat.com/security/cve/CVE-2026-34182
access.redhat.com/security/cve/CVE-2026-84782
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_55543.json
bugzilla.redhat.com/show_bug.cgi?id=2481879
cve.org/CVERecord?id=CVE-2026-7383
nvd.nist.gov/vuln/detail/CVE-2026-7383
bugzilla.redhat.com/show_bug.cgi?id=2481880
cve.org/CVERecord?id=CVE-2026-9076
nvd.nist.gov/vuln/detail/CVE-2026-9076
bugzilla.redhat.com/show_bug.cgi?id=2481881
cve.org/CVERecord?id=CVE-2026-34180
nvd.nist.gov/vuln/detail/CVE-2026-34180
bugzilla.redhat.com/show_bug.cgi?id=2481882
cve.org/CVERecord?id=CVE-2026-34181
nvd.nist.gov/vuln/detail/CVE-2026-34181
bugzilla.redhat.com/show_bug.cgi?id=2481884
cve.org/CVERecord?id=CVE-2026-34182
nvd.nist.gov/vuln/detail/CVE-2026-34182
bugzilla.redhat.com/show_bug.cgi?id=2481885
cve.org/CVERecord?id=CVE-2026-34183
nvd.nist.gov/vuln/detail/CVE-2026-34183
bugzilla.redhat.com/show_bug.cgi?id=2481886
cve.org/CVERecord?id=CVE-2026-35188
nvd.nist.gov/vuln/detail/CVE-2026-35188
bugzilla.redhat.com/show_bug.cgi?id=2481887
cve.org/CVERecord?id=CVE-2026-42764
nvd.nist.gov/vuln/detail/CVE-2026-42764
bugzilla.redhat.com/show_bug.cgi?id=2481889
cve.org/CVERecord?id=CVE-2026-42765
nvd.nist.gov/vuln/detail/CVE-2026-42765
bugzilla.redhat.com/show_bug.cgi?id=2481890
cve.org/CVERecord?id=CVE-2026-42766
nvd.nist.gov/vuln/detail/CVE-2026-42766
bugzilla.redhat.com/show_bug.cgi?id=2481891
cve.org/CVERecord?id=CVE-2026-42767
nvd.nist.gov/vuln/detail/CVE-2026-42767
bugzilla.redhat.com/show_bug.cgi?id=2481892
cve.org/CVERecord?id=CVE-2026-42768
nvd.nist.gov/vuln/detail/CVE-2026-42768
bugzilla.redhat.com/show_bug.cgi?id=2481893
cve.org/CVERecord?id=CVE-2026-42769
nvd.nist.gov/vuln/detail/CVE-2026-42769
bugzilla.redhat.com/show_bug.cgi?id=2481894
cve.org/CVERecord?id=CVE-2026-42770
nvd.nist.gov/vuln/detail/CVE-2026-42770
bugzilla.redhat.com/show_bug.cgi?id=2481895
cve.org/CVERecord?id=CVE-2026-42771
nvd.nist.gov/vuln/detail/CVE-2026-42771
bugzilla.redhat.com/show_bug.cgi?id=2481896
cve.org/CVERecord?id=CVE-2026-45445
nvd.nist.gov/vuln/detail/CVE-2026-45445
bugzilla.redhat.com/show_bug.cgi?id=2481897
cve.org/CVERecord?id=CVE-2026-45446
nvd.nist.gov/vuln/detail/CVE-2026-45446
bugzilla.redhat.com/show_bug.cgi?id=2481898
cve.org/CVERecord?id=CVE-2026-45447
nvd.nist.gov/vuln/detail/CVE-2026-45447
bugzilla.redhat.com/show_bug.cgi?id=2511600
cve.org/CVERecord?id=CVE-2026-54876
nvd.nist.gov/vuln/detail/CVE-2026-54876
github.com/openssl/openssl/commit/155b5fe0f93365e6df1c56ee3606b121080c6c12
github.com/openssl/openssl/commit/d8c51048ac037a21bae0f41cad7a3920dc7f3638
openssl-library.org/news/secadv/20260805.txt
bugzilla.redhat.com/show_bug.cgi?id=2510835
cve.org/CVERecord?id=CVE-2026-69247
bugzilla.redhat.com/show_bug.cgi?id=2510830
cve.org/CVERecord?id=CVE-2026-69248
nvd.nist.gov/vuln/detail/CVE-2026-69248
github.com/pyca/cryptography/commit/4d035a4225965edeffd312079a510ef25fcfdcb2
github.com/pyca/cryptography/pull/14888
github.com/pyca/cryptography/security/advisories/GHSA-m2h6-j472-rp4c
bugzilla.redhat.com/show_bug.cgi?id=2510815
cve.org/CVERecord?id=CVE-2026-69249
nvd.nist.gov/vuln/detail/CVE-2026-69249
github.com/pyca/cryptography/commit/4a12cf49675a184e47f912b00b04f3a629283582
github.com/pyca/cryptography/pull/14960
github.com/pyca/cryptography/security/advisories/GHSA-jwv3-5hgf-82ww
bugzilla.redhat.com/show_bug.cgi?id=2523425
cve.org/CVERecord?id=CVE-2026-75803
nvd.nist.gov/vuln/detail/CVE-2026-75803
github.com/openssl/openssl/commit/119ab9555dc62275bbd71f6f49529b1a44feba42
github.com/openssl/openssl/commit/3621257986e27e540bf96a11570929a6e5a9e05b
github.com/openssl/openssl/commit/6c7aa6f8f6449b7fe0137ee8be65fcd239bd7d6a
github.com/openssl/openssl/commit/bdeb0cd994d915342787f117ee75044f0dc36f34
github.com/openssl/openssl/commit/bf95f5f772e9362f87b25cfa2f8cb15d984865b9
openssl-library.org/news/secadv/20260825.txt
bugzilla.redhat.com/show_bug.cgi?id=2537080
cve.org/CVERecord?id=CVE-2026-84782
nvd.nist.gov/vuln/detail/CVE-2026-84782
openssl-library.org/news/vulnerabilities
suse.com/support/update/announcement/2026/suse-su-202623404-1
bugzilla.suse.com/1273516
bugzilla.suse.com/1273549
bugzilla.suse.com/1273551
suse.com/security/cve/CVE-2026-69247
suse.com/security/cve/CVE-2026-69248
suse.com/security/cve/CVE-2026-69249
suse.com/support/update/announcement/2026/suse-su-202623570-1
ubuntu.com/security/CVE-2026-69247
ubuntu.com/security/notices/USN-8776-1
ubuntu.com/security/CVE-2023-23931
ubuntu.com/security/CVE-2026-69248
ubuntu.com/security/CVE-2026-69249
suse.com/security/cve/CVE-2020-25659
suse.com/security/cve/CVE-2020-36242
suse.com/security/cve/CVE-2023-38325
suse.com/security/cve/CVE-2023-49083
suse.com/security/cve/CVE-2024-26130