{"id":"CVE-2016-9243","aliases":["BELL-CVE-2016-9243","DEBIAN-CVE-2016-9243","EUVD-2017-0020","GHSA-q3cj-2r34-2cwc","MGASA-2016-0377","PYSEC-2017-8","UBUNTU-CVE-2016-9243","USN-3138-1"],"status":"published","title":"Improper input validation in cryptography","description":"HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.03464,"percentile":0.89137,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20"],"published":"2016-11-09T00:00:00Z","modified":"2026-10-20T10:48:00Z","fixes":[{"ecosystem":"PyPI","package":"cryptography","fixed_in":["1.5.3"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"python-cryptography","fixed_in":["1.5.3-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"python-cryptography","fixed_in":["1.5.3-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"python-cryptography","fixed_in":["1.5.3-1"],"sources":["osv"]},{"ecosystem":"Mageia:5","package":"python-cryptography","fixed_in":["1.0.2-1.1.mga5"],"sources":["osv"]},{"ecosystem":"Ubuntu:16.04:LTS","package":"python-cryptography","fixed_in":["1.2.3-1ubuntu0.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"cryptography","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.3"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"python-cryptography","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.3-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"python-cryptography","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.3-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"python-cryptography","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.3-1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"cryptography","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.3"}]}],"versions":["0.1","0.2","0.2.1","0.2.2","0.3","0.4","0.5","0.5.1","0.5.2","0.5.3","0.5.4","0.6","0.6.1","0.7","0.7.1","0.7.2","0.8","0.8.1","0.8.2","0.9","0.9.1","0.9.2","0.9.3","1.0","1.0.1","1.0.2","1.1","1.1.1","1.1.2","1.2","1.2.1","1.2.2","1.2.3","1.3","1.3.1","1.3.2","1.3.3","1.3.4","1.4","1.5","1.5.1","1.5.2"]},{"source":"osv","ecosystem":"Mageia:5","package":"python-cryptography","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.2-1.1.mga5"}]}]},{"source":"osv","ecosystem":"PyPI","package":"cryptography","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"b924696b2e8731f39696584d12cceeb3aeb2d874"}]},{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.3"}]}],"versions":["0.1","0.2","0.2.1","0.2.2","0.3","0.4","0.5","0.5.1","0.5.2","0.5.3","0.5.4","0.6","0.6.1","0.7","0.7.1","0.7.2","0.8","0.8.1","0.8.2","0.9","0.9.1","0.9.2","0.9.3","1.0","1.0.1","1.0.2","1.1","1.1.1","1.1.2","1.2","1.2.1","1.2.2","1.2.3","1.3","1.3.1","1.3.2","1.3.3","1.3.4","1.4","1.5","1.5.1","1.5.2"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"python-cryptography","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.3-1ubuntu0.1"}]}],"versions":["1.0.1-1ubuntu1","1.0.2-1","1.1-1","1.1.1-1","1.1.1-1ubuntu1","1.1.1-1ubuntu2","1.1.1-1ubuntu3","1.2.2-2","1.2.3-1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"python-cryptography","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.3-1ubuntu0.1"}]}],"versions":["1.0.1-1ubuntu1","1.0.2-1","1.1-1","1.1.1-1","1.1.1-1ubuntu1","1.1.1-1ubuntu2","1.1.1-1ubuntu3","1.2.2-2","1.2.3-1"]}],"products":[{"vendor":"canonical","product":"ubuntu_linux"},{"vendor":"cryptography.io","product":"cryptography"},{"vendor":"fedoraproject","product":"fedora"}],"references":[{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/U23KDR2M2N7W2ZSREG63BVW7D4VC6CIZ/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"http://www.ubuntu.com/usn/USN-3138-1","tags":["vendor-advisory","x_refsource_UBUNTU","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/pyca/cryptography/commit/b924696b2e8731f39696584d12cceeb3aeb2d874","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/WQ5G7KHKZC4SI23JE7277KZXM57GEQKT/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"http://www.securityfocus.com/bid/94216","tags":["vdb-entry","x_refsource_BID","x_transferred","Broken Link","Third Party Advisory","VDB Entry","advisory","web"]},{"url":"http://www.openwall.com/lists/oss-security/2016/11/09/2","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Patch","VDB Entry","fix","web"]},{"url":"https://cryptography.io/en/latest/changelog","tags":["x_refsource_CONFIRM","x_transferred","Release Notes","Third Party Advisory","advisory","web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/5R2ZOBMPWDFFHUZ6QOZZY36A6H5CGJXL/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"https://github.com/pyca/cryptography/issues/3211","tags":["x_refsource_CONFIRM","x_transferred","Issue Tracking","Third Party Advisory","report","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-9243","tags":["advisory"]},{"url":"https://cryptography.io/en/latest/changelog/#v1-5-3","tags":["web"]},{"url":"https://github.com/advisories/GHSA-q3cj-2r34-2cwc","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/cryptography/PYSEC-2017-8.yaml","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/5R2ZOBMPWDFFHUZ6QOZZY36A6H5CGJXL","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/U23KDR2M2N7W2ZSREG63BVW7D4VC6CIZ","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/WQ5G7KHKZC4SI23JE7277KZXM57GEQKT","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/5R2ZOBMPWDFFHUZ6QOZZY36A6H5CGJXL","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/U23KDR2M2N7W2ZSREG63BVW7D4VC6CIZ","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WQ5G7KHKZC4SI23JE7277KZXM57GEQKT","tags":["web"]},{"url":"https://docs.bell-sw.com/security/cves/CVE-2016-9243","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2016-9243","tags":["advisory"]},{"url":"https://github.com/pyca/cryptography","tags":["package"]},{"url":"https://advisories.mageia.org/MGASA-2016-0377.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=19736","tags":["report"]},{"url":"http://openwall.com/lists/oss-security/2016/11/09/2","tags":["web"]},{"url":"https://cryptography.io/en/latest/changelog/#id1","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WQ5G7KHKZC4SI23JE7277KZXM57GEQKT/","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/U23KDR2M2N7W2ZSREG63BVW7D4VC6CIZ/","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/5R2ZOBMPWDFFHUZ6QOZZY36A6H5CGJXL/","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2016-9243","tags":["report"]},{"url":"http://www.openwall.com/lists/oss-security/2016/11/08/6","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-3138-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2016-9243","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2016-9243","description":"HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.","status":"published","published":"2017-03-27T17:00:00Z","modified":"2024-08-06T02:42:11.253Z","updated_at":"2026-11-02T14:33:32.415289Z"}],"euvd":[{"id":"EUVD-2017-0020","description":"HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.","status":"published","published":"2017-03-27T17:00:00Z","modified":"2024-08-06T02:42:11Z","updated_at":"2026-11-03T02:22:27.654814Z"}],"ghsa":[{"id":"GHSA-q3cj-2r34-2cwc","title":"Improper input validation in cryptography","description":"HKDF in cryptography before 1.5.3 returns an empty byte-string if used with a length less than algorithm.digest_size.","status":"published","published":"2022-05-17T02:51:56Z","modified":"2024-09-13T20:08:28Z","cvss":[{"version":"4.0","score":8.7,"vector":"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","level":"high"},{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:38:02.773864Z"}],"nvd":[{"id":"CVE-2016-9243","description":"HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.","status":"published","published":"2017-03-27T17:59:00.46Z","modified":"2026-06-17T00:55:43.337Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"updated_at":"2026-11-02T14:03:37.238712Z"}],"osv":[{"id":"BELL-CVE-2016-9243","title":"CVE-2016-9243 does not affect BellSoft software","status":"withdrawn","published":"2017-03-27T17:59:00Z","modified":"2026-01-26T09:49:37.674899Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:28:14.137943Z"},{"id":"CVE-2016-9243","description":"HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.","status":"published","published":"2017-03-27T17:59:00.46Z","modified":"2026-10-20T10:48:00.141328756Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:44:03.171316Z"},{"id":"DEBIAN-CVE-2016-9243","description":"HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.","status":"published","published":"2017-03-27T17:59:00.46Z","modified":"2026-09-22T07:02:38.862158153Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:45:28.207321Z"},{"id":"GHSA-q3cj-2r34-2cwc","title":"Improper input validation in cryptography","description":"HKDF in cryptography before 1.5.3 returns an empty byte-string if used with a length less than algorithm.digest_size.","status":"published","published":"2022-05-17T02:51:56Z","modified":"2024-09-13T20:24:39.475398Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"},{"version":"4.0","score":8.7,"vector":"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","level":"high"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:54.055966Z"},{"id":"UBUNTU-CVE-2016-9243","description":"HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.","status":"published","published":"2016-11-09T00:00:00Z","modified":"2026-02-04T04:36:54.860529Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"},{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:54:12.994319Z"},{"id":"MGASA-2016-0377","title":"Updated python-cryptography package fixes security vulnerability","description":"Fixed a bug where HKDF would return an empty byte-string if used with a\nlength less than algorithm.digest_size. (CVE-2016-9243)\n","status":"published","published":"2016-11-14T07:08:50Z","modified":"2026-04-16T06:24:37.129222239Z","updated_at":"2026-11-02T15:49:40.103088Z"},{"id":"PYSEC-2017-8","description":"HKDF in cryptography before 1.5.2 returns an empty byte-string if used with a length less than algorithm.digest_size.","status":"published","published":"2017-03-27T17:59:00Z","modified":"2023-11-08T03:58:38.234221Z","updated_at":"2026-11-02T15:52:51.645172Z"},{"id":"USN-3138-1","title":"python-cryptography vulnerability","description":"Markus Döring discovered that python-cryptography incorrectly handled\ncertain HKDF lengths. This could result in python-cryptography returning an\nempty string instead of the expected derived key.\n","status":"published","published":"2016-11-28T19:31:42Z","modified":"2026-02-10T04:41:03Z","updated_at":"2026-11-02T16:58:10.303275Z"}]}}
