CVE Catalog

CVE-2026-33936

MediumCVSS 5.3
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.49%

42th percentile - higher than 42% of all known CVEs

Summary

In the ecdsa PyPI package prior to 0.19.2, remove_octet_string() accepts truncated DER where the declared length exceeds the buffer, causing unexpected exceptions (e.g., IndexError) from public API functions instead of cleanly rejecting malformed DER. This can lead to denial of service in applications parsing untrusted DER private keys.

Risk Assessment

An application parsing untrusted DER keys may crash, causing service unavailability for users.

Recommendation

Upgrade the ecdsa package to version 0.19.2, which patches the issue.

Related vulnerabilities

Original NVD description (English source)

The `ecdsa` PyPI package is a pure Python implementation of ECC (Elliptic Curve Cryptography) with support for ECDSA (Elliptic Curve Digital Signature Algorithm), EdDSA (Edwards-curve Digital Signature Algorithm) and ECDH (Elliptic Curve Diffie-Hellman). Prior to version 0.19.2, an issue in the low-level DER parsing functions can cause unexpected exceptions to be raised from the public API functions. `ecdsa.der.remove_octet_string()` accepts truncated DER where the encoded length exceeds the available buffer. For example, an OCTET STRING that declares a length of 4096 bytes but provides only 3 bytes is parsed successfully instead of being rejected. Because of that, a crafted DER input can cause `SigningKey.from_der()` to raise an internal exception (`IndexError: index out of bounds on dimension 1`) rather than cleanly rejecting malformed DER (e.g., raising `UnexpectedDER` or `ValueError`). Applications that parse untrusted DER private keys may crash if they do not handle unexpected exceptions, resulting in a denial of service. Version 0.19.2 patches the issue.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS