CVE-2016-9243
Improper input validation in cryptography
CVE-2016-9243 is a high vulnerability (CVSS 7.5) in Cryptography.io Cryptography, published November 9, 2016. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.46%, the 89th percentile. Fixed in cryptography 1.5.3.
HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
7.5
HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.
- Record
CVE-2016-9243- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:P/A:N - Updated
- 2026-11-02
CVE List No score
HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.
- Record
CVE-2016-9243- Updated
- 2026-11-02
EUVDEUVD-2017-0020 No score
HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.
- Record
EUVD-2017-0020- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-q3cj-2r34-2cwc
8.7
Improper input validation in cryptography
HKDF in cryptography before 1.5.3 returns an empty byte-string if used with a length less than algorithm.digest_size.
- Record
GHSA-q3cj-2r34-2cwc- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVBELL-CVE-2016-9243
7.5
CVE-2016-9243 does not affect BellSoft software
- Record
BELL-CVE-2016-9243- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSV
7.5
HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.
- Record
CVE-2016-9243- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
Show 6 moreShow less
OSVDEBIAN-CVE-2016-9243
7.5
HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.
- Record
DEBIAN-CVE-2016-9243- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVGHSA-q3cj-2r34-2cwc
8.7
Improper input validation in cryptography
HKDF in cryptography before 1.5.3 returns an empty byte-string if used with a length less than algorithm.digest_size.
- Record
GHSA-q3cj-2r34-2cwc- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2016-9243
7.5
HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.
- Record
UBUNTU-CVE-2016-9243- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVMGASA-2016-0377 No score
Updated python-cryptography package fixes security vulnerability
Fixed a bug where HKDF would return an empty byte-string if used with a length less than algorithm.digest_size. (CVE-2016-9243)
- Record
MGASA-2016-0377- Updated
- 2026-11-02
OSVPYSEC-2017-8 No score
HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.
- Record
PYSEC-2017-8- Updated
- 2026-11-02
OSVUSN-3138-1 No score
python-cryptography vulnerability
Markus Döring discovered that python-cryptography incorrectly handled certain HKDF lengths. This could result in python-cryptography returning an empty string instead of the expected derived key.
- Record
USN-3138-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
cryptographyPyPI |
before 1.5.3 | 1.5.3 |
python-cryptographyDebian:12 |
before 1.5.3-1 | 1.5.3-1 |
python-cryptographyDebian:13 |
before 1.5.3-1 | 1.5.3-1 |
python-cryptographyDebian:14 |
before 1.5.3-1 | 1.5.3-1 |
cryptographyPyPI |
before 1.5.3, plus listed versions 0.10.20.2.10.2.20.3 Show 37 moreShow less0.40.50.5.10.5.20.5.30.5.40.60.6.10.70.7.10.7.20.80.8.10.8.20.90.9.10.9.20.9.31.01.0.11.0.21.11.1.11.1.21.21.2.11.2.21.2.31.31.3.11.3.21.3.31.3.41.41.51.5.11.5.2 |
1.5.3 |
python-cryptographyMageia:5 |
before 1.0.2-1.1.mga5 | 1.0.2-1.1.mga5 |
python-cryptographyUbuntu:16.04:LTS |
before 1.2.3-1ubuntu0.1, plus listed versions 1.0.1-1ubuntu11.0.2-11.1-11.1.1-11.1.1-1ubuntu1 Show 4 moreShow less1.1.1-1ubuntu21.1.1-1ubuntu31.2.2-21.2.3-1 |
1.2.3-1ubuntu0.1 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/U23KDR2M2N7W2ZSREG63BVW7D4VC6CIZ
ubuntu.com/usn/USN-3138-1
github.com/pyca/cryptography/commit/b924696b2e8731f39696584d12cceeb3aeb2d874
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/WQ5G7KHKZC4SI23JE7277KZXM57GEQKT
securityfocus.com/bid/94216
openwall.com/lists/oss-security/2016/11/09/2
Show 18 moreShow less
cryptography.io/en/latest/changelog
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/5R2ZOBMPWDFFHUZ6QOZZY36A6H5CGJXL
github.com/pyca/cryptography/issues/3211
nvd.nist.gov/vuln/detail/CVE-2016-9243
github.com/advisories/GHSA-q3cj-2r34-2cwc
github.com/pypa/advisory-database/tree/main/vulns/cryptography/PYSEC-2017-8.yaml
lists.fedoraproject.org/archives/list/[email protected]/message/5R2ZOBMPWDFFHUZ6QOZZY36A6H5CGJXL
lists.fedoraproject.org/archives/list/[email protected]/message/U23KDR2M2N7W2ZSREG63BVW7D4VC6CIZ
lists.fedoraproject.org/archives/list/[email protected]/message/WQ5G7KHKZC4SI23JE7277KZXM57GEQKT
docs.bell-sw.com/security/cves/CVE-2016-9243
security-tracker.debian.org/tracker/CVE-2016-9243
github.com/pyca/cryptography
advisories.mageia.org/MGASA-2016-0377.html
bugs.mageia.org/show_bug.cgi?id=19736
ubuntu.com/security/CVE-2016-9243
openwall.com/lists/oss-security/2016/11/08/6
ubuntu.com/security/notices/USN-3138-1
cve.org/CVERecord?id=CVE-2016-9243