USN-8776-1: python-cryptography vulnerabilities
Ubuntu patches python-cryptography flaws including a PKCS#7 timing side-channel (CVE-2026-69247) that could allow key recovery.
Ubuntu Security Notice USN-8776-1 fixes multiple vulnerabilities in python-cryptography. CVE-2026-69247 describes distinguishable PKCS#7 decryption outcomes with observable timing differences that a remote attacker could exploit to recover encryption keys; it affects Ubuntu 26.04 LTS. CVE-2023-23931, affecting only Ubuntu 18.04 LTS, involves incorrect handling of objects with immutable buffers during cipher operations, causing corrupted output, and a third issue reported by Jack Lloyd is also addressed.
- Timing side-channel in PKCS#7 decryption may leak message encryption keys (CVE-2026-69247).
- CVE-2026-69247 affects only Ubuntu 26.04 LTS.
- CVE-2023-23931 causes corrupted cipher output and affects only Ubuntu 18.04 LTS.
- Additional fix contributed by Jack Lloyd included in the notice.
Vulnerabilities mentionedAll →
| CVE | Vulnerability | CVSS | EPSS | Flags | Affected | Exposure | Published |
|---|---|---|---|---|---|---|---|
| CVE-2023-23931 | cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. In affected versions `Cipher.update_into` would accept Python objects which implement the buffer protocol, but provide only immutable buffers. This would allow immutable objects (such as `bytes`) to be mutated, thus violating fundamental rules of Python and resulting in corrupted output. This now correctly raises an exception. This issue has been present since `update_into` was originally introduced in cryptography 1.8. NVD description · AI analysis pending | 6.5 | 1% | PoC |
| — | |
| CVE-2026-69247 | cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. 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. NVD description · AI analysis pending | 8.2 | <1% | — | — |
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…
This source does not provide full text. Read it at ubuntu.com.