CVE-2026-33936
CVE-2026-33936 · python-ecdsa: Denial of Service via improper DER length validation in crafted private keys
This page contains facts from public vulnerability sources. Check the original advisory before updating.
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.
CVSS 5.3 · Medium · EPSS 0.5% · Fix available
- Published
- Updated
Affected products and versions
python-ecdsa
- Versions
- < 0.19.2: Affected
No fix published
python-ecdsa Debian:12
- Versions
- 0.18.0-3
- 0.18.0-4
- 0.18.0-5
- 0.19.0-1
- 0.19.0-2
- 0.19.1-1
- 0.19.2-1
- 0.19.2-2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-ecdsa Debian:13
- Versions
- 0.19.1-1
- Affected ranges
- ECOSYSTEM: < 0.19.1-1+deb13u1
Update to 0.19.1-1+deb13u1
python-ecdsa Debian:14
- Versions
- 0.19.1-1
- Affected ranges
- ECOSYSTEM: < 0.19.2-1
Update to 0.19.2-1
ecdsa PyPI
- Versions
- 0.10
- 0.11
- 0.12
- 0.13
- 0.13.1
- 0.13.2
- 0.13.3
- 0.14
- 0.14.1
- 0.15
- 0.16.0
- 0.16.1
- 0.17.0
- 0.18.0
- 0.18.0b1
- 0.18.0b2
- 0.19.0
- 0.19.1
- 0.6
- 0.7
- 0.8
- 0.9
- Affected ranges
- ECOSYSTEM: < 0.19.2
Update to 0.19.2
python-ecdsa Ubuntu:16.04:LTS
- Versions
- 0.13-2
- 0.13-2ubuntu0.16.04.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-ecdsa Ubuntu:18.04:LTS
- Versions
- 0.13-2
- 0.13-2ubuntu0.18.04.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-ecdsa Ubuntu:20.04:LTS
- Versions
- 0.13.2-2
- 0.13.3-1
- 0.14.1-1
- 0.14.1-1ubuntu2
- 0.15-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-ecdsa Ubuntu:22.04:LTS
- Versions
- 0.16.1-1
- 0.18.0~b1-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-ecdsa Ubuntu:24.04:LTS
- Versions
- 0.18.0-3
- 0.18.0-4
- 0.18.0-5
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-ecdsa Ubuntu:25.10
- Versions
- 0.19.1-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-ecdsa Ubuntu:26.10
- Versions
- 0.19.1-1
- 0.19.2-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-ecdsa Ubuntu:26.04:LTS
- Versions
- 0.19.1-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published