Every CVE Search/ Get API key

CVE-2016-9939

Crypto++ (aka cryptopp and libcrypto++) 5.6.4 contained a bug in its ASN.1 BER decoding routine....

7.5 HighFix available

CVE-2016-9939 is a high vulnerability (CVSS 7.5) in Cryptopp Crypto\+\+, published December 26, 2016. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 4.20%, the 90th percentile. Fixed in libcrypto++ 5.6.4-5.

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.

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
None
Availability
High

Exploit likelihood

4.20%Up 3.2 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 7.5

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.

Record
CVE-2016-9939
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:N/I:N/A:P
Weakness
CWE-20
Updated
2026-11-02
CVE List No score

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.

Record
CVE-2016-9939
Updated
2026-11-02
EUVDEUVD-2016-10726 No score

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.

Record
EUVD-2016-10726
Updated
2026-11-03
GitHub AdvisoriesGHSA-x7wj-9rr2-gfcg 7.5

Crypto++ (aka cryptopp and libcrypto++) 5.6.4 contained a bug in its ASN.1 BER decoding routine....

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.

Record
GHSA-x7wj-9rr2-gfcg
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-20
Updated
2026-11-02
OSV 7.5

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.

Record
CVE-2016-9939
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2016-9939 7.5

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.

Record
DEBIAN-CVE-2016-9939
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 4 moreShow less
OSVUBUNTU-CVE-2016-9939 7.5

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.

Record
UBUNTU-CVE-2016-9939
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVMGASA-2017-0010 No score

Updated libcryptopp packages fix security vulnerability

When Crypto++ library parses an ASN.1 data value, the library allocates for the content octets based on the length octets. Later, if there's too few or too little content octets, the library throws a BERDecodeErr exception. The memory for the content octets will be zeroized (even if unused), which could take a long time on a large allocation (CVE-2016-9939).

Record
MGASA-2017-0010
Updated
2026-11-02
OSVopenSUSE-SU-2021:3301-1 No score

Security update for libcryptopp

This update for libcryptopp fixes the following issues:

  • CVE-2016-9939: Fixed potential DoS in Crypto++ (libcryptopp) ASN.1 parser (bsc#1015243).
Record
openSUSE-SU-2021:3301-1
Updated
2026-11-02
OSVSUSE-SU-2021:3301-1 No score

Security update for libcryptopp

This update for libcryptopp fixes the following issues:

  • CVE-2016-9939: Fixed potential DoS in Crypto++ (libcryptopp) ASN.1 parser (bsc#1015243).
Record
SUSE-SU-2021:3301-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
libcrypto++
Debian:12
before 5.6.4-5
5.6.4-5
libcrypto++
Debian:13
before 5.6.4-5
5.6.4-5
libcrypto++
Debian:14
before 5.6.4-5
5.6.4-5
libcrypto++
Debian:7
before 5.6.1-6+deb7u3, plus listed versions
5.6.1-65.6.1-6+deb7u15.6.1-6+deb7u2
5.6.1-6+deb7u3
libcrypto++
Debian:8
before 5.6.1-6+deb8u3, plus listed versions
5.6.1-65.6.1-6+deb8u15.6.1-6+deb8u2
5.6.1-6+deb8u3
libcryptopp
Mageia:5
before 5.6.3-1.3.mga5
5.6.3-1.3.mga5
libcryptopp
SUSE:Linux Enterprise Module for Basesystem 15 SP2
before 5.6.5-1.6.1
5.6.5-1.6.1
libcryptopp
SUSE:Linux Enterprise Module for Basesystem 15 SP3
before 5.6.5-1.6.1
5.6.5-1.6.1
libcrypto++
Ubuntu:14.04:LTS
before 5.6.1-6+deb8u3build0.14.04.1, plus listed versions
5.6.1-65.6.1-6+deb8u1build0.14.04.1
5.6.1-6+deb8u3build0.14.04.1
libcrypto++
Ubuntu:16.04:LTS
before 5.6.1-9ubuntu0.1, plus listed versions
5.6.1-85.6.1-9
5.6.1-9ubuntu0.1
libcryptopp
openSUSE:Leap 15.3
before 5.6.5-1.6.1
5.6.5-1.6.1

History

History
WhenChangedSources
2026-11-03aliasesEUVD
2026-11-02createdCVE List, GitHub Advisories, NVD, OSV

References

Show 12 moreShow less
MoveEnter Open