CVE-2019-14859: Improper Verification of Cryptographic Signature in Pure-Python ECDSA
Summary
CVE-2019-14859: Improper Verification of Cryptographic Signature in Pure-Python ECDSA. Affects ecdsa versions < 0.13.3. Fixed in 0.13.3. How to fix ↓
Also tracked for
- python-ecdsa · Debian:11
The same CVE-2019-14859 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.
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
The 'ecdsa' package is a Python library that provides an implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA). It is commonly used for cryptographic operations, such as generating and verifying digital signatures. The vulnerability identified as CVE-2019-14859 affects all versions of python-ecdsa prior to 0.13.3. This vulnerability arises from the package's failure to correctly verify whether signatures used DER encoding. As a result, a malformed signature could be accepted, allowing for signature malleability. This vulnerability could be exploited by an attacker to create false transactions.
Vulnerability Detail
The vulnerability in python-ecdsa versions prior to 0.13.3 lies in the improper verification of cryptographic signatures using DER encoding. The package fails to adequately validate the signature format, allowing for the acceptance of malformed signatures. This oversight enables an attacker to manipulate the signature, potentially leading to the creation of false transactions. The vulnerability has a CVSS score of 9.1, indicating its critical severity.
How To Fix
Latest published version: 0.19.2 as of 23 Oct 2026
pip install --upgrade "ecdsa==0.19.2"
Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.
If you need the minimum change
0.13.3
This is the first release that contains the fix.
pip install --upgrade "ecdsa==0.13.3"
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
As a workaround, users can manually validate the signature format before processing it. This can be achieved by implementing custom checks to ensure that the signature adheres to the expected DER encoding format. Here is an example of a Python function that performs this validation:
def validate_signature(signature):
# Implement custom validation logic here
if not is_der_encoded(signature):
raise ValueError('Invalid signature format')
# Usage:
signature = get_signature()
validate_signature(signature)
Conclusion
In conclusion, the CVE-2019-14859 vulnerability in python-ecdsa versions prior to 0.13.3 allows for the acceptance of malformed signatures, leading to signature malleability. This can be exploited by attackers to create false transactions. It is crucial to upgrade to the fixed version or implement the recommended workaround to mitigate the risk. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for ecdsa →
FAQ
The vulnerability allows an attacker to create false transactions by manipulating the signature. This can lead to various malicious activities, such as unauthorized transactions or the forging of digital identities.
You can use the Vulert Playground at Vulert Scanner to check if your application is affected by this vulnerability. The playground analyzes your Pipfile.lock and provides real-time alerts for open-source vulnerabilities, including this one.
There are no known instances of this vulnerability being actively exploited at the moment. However, it is crucial to apply the recommended fix to ensure the security and integrity of your applications.
Yes, a patch is available for this vulnerability. Upgrading to python-ecdsa version 0.13.3 or later will address the issue and prevent the acceptance of malformed signatures.
The CVSS score of this vulnerability is 9.1, indicating its critical severity.
References
Related vulnerabilities
Recent vulnerabilities recorded for ecdsa.