{"id":"CVE-2016-9939","aliases":["DEBIAN-CVE-2016-9939","DLA-766-1","DSA-3748-1","EUVD-2016-10726","GHSA-x7wj-9rr2-gfcg","MGASA-2017-0010","SUSE-SU-2021:3301-1","UBUNTU-CVE-2016-9939","openSUSE-SU-2021:3301-1"],"status":"published","title":"Crypto++ (aka cryptopp and libcrypto++) 5.6.4 contained a bug in its ASN.1 BER decoding routine....","description":"Crypto++ (aka cryptopp and libcrypto++) 5.6.4 contained a bug in its ASN.1 BER decoding routine. The library will allocate a memory block based on the length field of the ASN.1 object. If there is not enough content octets in the ASN.1 object, then the function will fail and the memory block will be zeroed even if its unused. There is a noticeable delay during the wipe for a large allocation.","severity":{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.04202,"percentile":0.91025,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20"],"published":"2016-12-26T00:00:00Z","modified":"2026-10-24T10:30:16Z","fixes":[{"ecosystem":"Debian:12","package":"libcrypto++","fixed_in":["5.6.4-5"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"libcrypto++","fixed_in":["5.6.4-5"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"libcrypto++","fixed_in":["5.6.4-5"],"sources":["osv"]},{"ecosystem":"Debian:7","package":"libcrypto++","fixed_in":["5.6.1-6+deb7u3"],"sources":["osv"]},{"ecosystem":"Debian:8","package":"libcrypto++","fixed_in":["5.6.1-6+deb8u3"],"sources":["osv"]},{"ecosystem":"Mageia:5","package":"libcryptopp","fixed_in":["5.6.3-1.3.mga5"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP2","package":"libcryptopp","fixed_in":["5.6.5-1.6.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP3","package":"libcryptopp","fixed_in":["5.6.5-1.6.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:14.04:LTS","package":"libcrypto++","fixed_in":["5.6.1-6+deb8u3build0.14.04.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:16.04:LTS","package":"libcrypto++","fixed_in":["5.6.1-9ubuntu0.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.3","package":"libcryptopp","fixed_in":["5.6.5-1.6.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"libcrypto++","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.4-5"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"libcrypto++","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.4-5"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"libcrypto++","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.4-5"}]}]},{"source":"osv","ecosystem":"Debian:7","package":"libcrypto++","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.1-6+deb7u3"}]}],"versions":["5.6.1-6","5.6.1-6+deb7u1","5.6.1-6+deb7u2"]},{"source":"osv","ecosystem":"Debian:8","package":"libcrypto++","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.1-6+deb8u3"}]}],"versions":["5.6.1-6","5.6.1-6+deb8u1","5.6.1-6+deb8u2"]},{"source":"osv","ecosystem":"Mageia:5","package":"libcryptopp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.3-1.3.mga5"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP2","package":"libcryptopp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.5-1.6.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP3","package":"libcryptopp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.5-1.6.1"}]}]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"libcrypto++","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.1-6+deb8u3build0.14.04.1"}]}],"versions":["5.6.1-6","5.6.1-6+deb8u1build0.14.04.1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"libcrypto++","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.1-9ubuntu0.1"}]}],"versions":["5.6.1-8","5.6.1-9"]},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"libcryptopp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.6.5-1.6.1"}]}]}],"products":[{"vendor":"cryptopp","product":"crypto\\+\\+"},{"vendor":"debian","product":"debian_linux"}],"references":[{"url":"http://www.openwall.com/lists/oss-security/2016/12/12/7","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Patch","Third Party Advisory","fix","web"]},{"url":"http://www.debian.org/security/2016/dsa-3748","tags":["vendor-advisory","x_refsource_DEBIAN","x_transferred","Third Party Advisory","advisory"]},{"url":"http://www.securityfocus.com/bid/94854","tags":["vdb-entry","x_refsource_BID","x_transferred","Third Party Advisory","VDB Entry","advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/7IL5A6465IEPW5GAWGXB2ENJPFYVWTJM/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-9939"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/7IL5A6465IEPW5GAWGXB2ENJPFYVWTJM"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/7IL5A6465IEPW5GAWGXB2ENJPFYVWTJM"},{"url":"https://github.com/advisories/GHSA-x7wj-9rr2-gfcg"},{"url":"https://security-tracker.debian.org/tracker/CVE-2016-9939","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2017-0010.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=19937","tags":["report"]},{"url":"https://github.com/weidai11/cryptopp/issues/346","tags":["report"]},{"url":"https://www.debian.org/security/2016/dsa-3748","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2021/suse-su-20213301-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1015243","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2016-9939","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2016-9939","tags":["report"]},{"url":"http://www.openwall.com/lists/oss-security/2016/12/12/6","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2016-9939","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/OT7AMKZYZG3NMSSJK4GVQCGFPLIGSKD5/","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2016-9939","description":"Crypto++ (aka cryptopp and libcrypto++) 5.6.4 contained a bug in its ASN.1 BER decoding routine. The library will allocate a memory block based on the length field of the ASN.1 object. If there is not enough content octets in the ASN.1 object, then the function will fail and the memory block will be zeroed even if its unused. There is a noticeable delay during the wipe for a large allocation.","status":"published","published":"2017-01-30T21:00:00Z","modified":"2024-08-06T03:07:31.216Z","updated_at":"2026-11-02T14:33:32.415289Z"}],"euvd":[{"id":"EUVD-2016-10726","description":"Crypto++ (aka cryptopp and libcrypto++) 5.6.4 contained a bug in its ASN.1 BER decoding routine. The library will allocate a memory block based on the length field of the ASN.1 object. If there is not enough content octets in the ASN.1 object, then the function will fail and the memory block will be zeroed even if its unused. There is a noticeable delay during the wipe for a large allocation.","status":"published","published":"2017-01-30T21:00:00Z","modified":"2024-08-06T03:07:31Z","updated_at":"2026-11-03T02:22:25.833438Z"}],"ghsa":[{"id":"GHSA-x7wj-9rr2-gfcg","title":"Crypto++ (aka cryptopp and libcrypto++) 5.6.4 contained a bug in its ASN.1 BER decoding routine....","description":"Crypto++ (aka cryptopp and libcrypto++) 5.6.4 contained a bug in its ASN.1 BER decoding routine. The library will allocate a memory block based on the length field of the ASN.1 object. If there is not enough content octets in the ASN.1 object, then the function will fail and the memory block will be zeroed even if its unused. There is a noticeable delay during the wipe for a large allocation.","status":"published","published":"2022-05-14T00:59:46Z","modified":"2025-04-20T03:33:07Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:01:40.176288Z"}],"nvd":[{"id":"CVE-2016-9939","description":"Crypto++ (aka cryptopp and libcrypto++) 5.6.4 contained a bug in its ASN.1 BER decoding routine. The library will allocate a memory block based on the length field of the ASN.1 object. If there is not enough content octets in the ASN.1 object, then the function will fail and the memory block will be zeroed even if its unused. There is a noticeable delay during the wipe for a large allocation.","status":"published","published":"2017-01-30T21:59:01.207Z","modified":"2026-06-17T00:56:48.817Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:03:35.029632Z"}],"osv":[{"id":"CVE-2016-9939","description":"Crypto++ (aka cryptopp and libcrypto++) 5.6.4 contained a bug in its ASN.1 BER decoding routine. The library will allocate a memory block based on the length field of the ASN.1 object. If there is not enough content octets in the ASN.1 object, then the function will fail and the memory block will be zeroed even if its unused. There is a noticeable delay during the wipe for a large allocation.","status":"published","published":"2017-01-30T21:59:01.207Z","modified":"2026-10-24T10:30:16.903985609Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:03.472693Z"},{"id":"DEBIAN-CVE-2016-9939","description":"Crypto++ (aka cryptopp and libcrypto++) 5.6.4 contained a bug in its ASN.1 BER decoding routine. The library will allocate a memory block based on the length field of the ASN.1 object. If there is not enough content octets in the ASN.1 object, then the function will fail and the memory block will be zeroed even if its unused. There is a noticeable delay during the wipe for a large allocation.","status":"published","published":"2017-01-30T21:59:01.207Z","modified":"2026-09-22T07:02:48.087798852Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:45:28.207321Z"},{"id":"UBUNTU-CVE-2016-9939","description":"Crypto++ (aka cryptopp and libcrypto++) 5.6.4 contained a bug in its ASN.1 BER decoding routine. The library will allocate a memory block based on the length field of the ASN.1 object. If there is not enough content octets in the ASN.1 object, then the function will fail and the memory block will be zeroed even if its unused. There is a noticeable delay during the wipe for a large allocation.","status":"published","published":"2017-01-30T21:59:00Z","modified":"2026-04-22T11:07:11.463421Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:54:13.356796Z"},{"id":"DLA-766-1","title":"libcrypto++ - security update","status":"published","published":"2016-12-27T00:00:00Z","modified":"2026-03-09T02:11:39.434475Z","updated_at":"2026-11-02T15:46:13.207219Z"},{"id":"DSA-3748-1","title":"libcrypto++ - security update","status":"published","published":"2016-12-26T00:00:00Z","modified":"2026-03-09T01:18:53.134891Z","updated_at":"2026-11-02T15:46:16.523846Z"},{"id":"MGASA-2017-0010","title":"Updated libcryptopp packages fix security vulnerability","description":"When Crypto++ library parses an ASN.1 data value, the library allocates\nfor the content octets based on the length octets. Later, if there's too\nfew or too little content octets, the library throws a BERDecodeErr\nexception. The memory for the content octets will be zeroized (even if\nunused), which could take a long time on a large allocation\n(CVE-2016-9939).\n","status":"published","published":"2017-01-07T21:39:59Z","modified":"2026-04-16T06:24:07.872903305Z","updated_at":"2026-11-02T15:49:40.103088Z"},{"id":"openSUSE-SU-2021:3301-1","title":"Security update for libcryptopp","description":"This update for libcryptopp fixes the following issues:\n\n- CVE-2016-9939: Fixed potential DoS in Crypto++ (libcryptopp) ASN.1 parser (bsc#1015243).\n","status":"published","published":"2021-10-06T14:58:44Z","modified":"2026-02-04T02:13:01.762219Z","updated_at":"2026-11-02T16:58:32.266854Z"},{"id":"SUSE-SU-2021:3301-1","title":"Security update for libcryptopp","description":"This update for libcryptopp fixes the following issues:\n\n- CVE-2016-9939: Fixed potential DoS in Crypto++ (libcryptopp) ASN.1 parser (bsc#1015243).\n","status":"published","published":"2021-10-06T14:58:42Z","modified":"2025-05-02T04:29:42.784189Z","updated_at":"2026-11-02T15:53:49.605187Z"}]}}
