Timing Side Channel Vulnerability in libcrypto++: CVE-2019-14318
Summary
UBUNTU-CVE-2019-14318: Crypto++ 8.3.0 and earlier contains a timing side channel in ECDSA signature generation. Affects libcrypto++ versions 5.6.1-6 – 5.6.1-6+deb8u3ubuntu0.1~esm1. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
libcrypto++ is a widely used C++ library that provides cryptographic algorithms and protocols. It is utilized in various applications for secure data transmission and storage. The library's functionality includes support for encryption, decryption, digital signatures, and hashing. However, a critical vulnerability has been identified in versions prior to 8.3.0, which exposes users to potential attacks due to timing side channels during ECDSA signature generation.
Vulnerability Detail
Crypto++ 8.3.0 and earlier contains a timing side channel in ECDSA signature generation. This vulnerability allows an attacker, whether local or remote, to compute the private key used by measuring the duration of multiple signing operations. The issue arises from non-constant time scalar multiplication in the library's implementation, leading to leakage of sensitive information such as the bit length of the scalar. This can result in unauthorized access to cryptographic keys, compromising the security of applications relying on this library.
How To Fix
No fixed version is published for this vulnerability.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
If immediate patching is not feasible, consider implementing additional security measures such as rate limiting on signing operations to reduce the risk of timing attacks. Additionally, avoid using the vulnerable versions of the library until an update can be applied.
Conclusion
The timing side channel vulnerability in libcrypto++ poses significant risks to applications relying on this library for cryptographic operations. It is crucial for users to update to the latest version to protect against potential attacks. Monitoring tools like Vulert can assist in identifying vulnerabilities in your software ecosystem.
See every vulnerability recorded for libcrypto++ →
FAQ
CVE-2019-14318 is a vulnerability in the libcrypto++ library that allows attackers to exploit timing side channels during ECDSA signature generation.
If your application uses libcrypto++ versions prior to 8.3.0, it may be susceptible to attacks that can compromise cryptographic keys.
You should update your libcrypto++ package to version 8.3.0 or later to mitigate the vulnerability.
Yes, you can use Vulert to monitor and alert for open-source vulnerabilities in your software without requiring access to the code.
The CVSS score for CVE-2019-14318 is 5.9, indicating a medium severity level.
Related vulnerabilities
Recent vulnerabilities recorded for libcrypto++.