CVE-2020-12607: fastecdsa - Mishandling of Point at Infinity in ECDSA Implementation
Summary
CVE-2020-12607: An issue was discovered in fastecdsa before 2.1.2. Affects fastecdsa across 4 version ranges.
< 2.1.2
< 4a16daeaf139be20654ef58a9fe4c79dc030458c
< 7b64e3efaa806b4daaf73bb5172af3581812f8de
< e592f106edd5acf6dacedfab2ad16fe6c735c9d1
Fixed in 4a16daeaf139be20654ef58a9fe4c79dc030458c. 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
fastecdsa is a Python library that provides a fast and efficient implementation of Elliptic Curve Digital Signature Algorithm (ECDSA). It supports various elliptic curves, including the NIST P-256 curve. ECDSA is a cryptographic algorithm used for digital signatures and key exchange. The library is widely used in applications that require secure communication and authentication. However, a vulnerability has been discovered in fastecdsa versions prior to 2.1.2 that affects the NIST P-256 curve implementation.
Vulnerability Detail
The vulnerability in fastecdsa arises from the mishandling of the point at infinity in the ECDSA implementation when using the NIST P-256 curve. In certain scenarios with extreme values in k and s^-1, the signature verification fails even if the signature is correct. This behavior can be exploited by an attacker to guess users for whom signature verification will fail. The impact of this vulnerability depends on the specific threat model and the usage of the library.
How To Fix
Latest published version: 4.0.0 as of 22 Oct 2026
pip install --upgrade "fastecdsa==4.0.0"
Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.
If you need the minimum change
4a16daeaf139be20654ef58a9fe4c79dc030458c
This is the first release that contains the fix.
pip install --upgrade "fastecdsa==4a16daeaf139be20654ef58a9fe4c79dc030458c"
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
There is no known workaround for this vulnerability. It is essential to upgrade to the fixed version of fastecdsa to ensure the proper handling of the point at infinity in the ECDSA implementation.
Conclusion
The vulnerability in fastecdsa versions prior to 2.1.2 can result in signature verification failures for certain extreme values, even if the signature is correct. It is crucial for users of fastecdsa to upgrade to version 2.1.2 or later to mitigate this vulnerability. For further assistance or support in vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for fastecdsa →
FAQ
fastecdsa is a Python library that provides an efficient implementation of Elliptic Curve Digital Signature Algorithm (ECDSA) for secure communication and authentication.
The NIST P-256 curve is one of the elliptic curves specified by the National Institute of Standards and Technology (NIST) for use in cryptographic applications.
The vulnerability in fastecdsa can lead to signature verification failures for certain extreme values, even if the signature is correct. This can be exploited by attackers in specific threat models.
Yes, all versions of fastecdsa prior to 2.1.2 are affected by this vulnerability. It is recommended to upgrade to the fixed version.
No, there is no known workaround for this vulnerability. Upgrading to the fixed version is the recommended solution.
References
Related vulnerabilities
Recent vulnerabilities recorded for fastecdsa.