Impact
The vulnerability is an improper length validation in the ecdsa package’s DER parser. When a private key is encoded with an OCTET STRING length that exceeds the supplied data, the parser accepts the truncated input instead of rejecting it. This causes SigningKey.from_der() to raise an internal IndexError exception, which applications that do not handle unexpected exceptions will not recover from, leading to a crash and a denial of service. The weakness is a failure to perform proper bounds checking (CWE‑130) and an improper input validation flaw (CWE‑20).
Affected Systems
The python-ecdsa library provided by tlsfuzzer is affected. Versions prior to 0.19.2 are vulnerable. Any application that imports python-ecdsa and processes user-supplied DER private keys is subject to the flaw.
Risk and Exploitability
Risk is moderate, with a CVSS score of 5.3 and an EPSS score below 1%, and the flaw is not listed in KEV. The issue can be exploited by supplying a malformed DER private key; no authentication is required beyond the ability to provide that data to an application that uses python-ecdsa. The attack vector is likely remote if the application exposes an API that accepts DER keys, or local if any user can trigger the parsing. An attacker can cause an application to crash, resulting in denial of service if the host does not recover.
OpenCVE Enrichment
Github GHSA