CVE-2026-33936
published 2026-03-27CVE-2026-33936: The `ecdsa` PyPI package is a pure Python implementation of ECC (Elliptic Curve Cryptography) with support for ECDSA (Elliptic Curve Digital Signature…
PriorityP429medium5.3CVSS 3.1
AVNACLPRNUINSUCNINAL
EPSS
0.48%
38.5th percentile
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.
Affected
6 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | python-ecdsa | < python-ecdsa 0.19.2-1 (forky) | python-ecdsa 0.19.2-1 (forky) |
| msrc | azl3_python-ecdsa_0.18.0-2_on_azure_linux_3.0 | — | — |
| python-ecdsa_project | python-ecdsa | >= 0 < 0.19.2-1 | 0.19.2-1 |
| tlsfuzzer | ecdsa | < 0.19.2 | 0.19.2 |
| tlsfuzzer | ecdsa | >= 0 < 0.19.2 | 0.19.2 |
| tlsfuzzer | python-ecdsa | < 0.19.2 | 0.19.2 |
CVSS provenance
nvdv3.15.3MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
osv5.3MEDIUM
vendor_debian5.3MEDIUM
vendor_msrc5.3MEDIUM
vendor_redhat5.3MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
python-ecdsa: Denial of Service via improper DER length validation in crafted private keys
ghsa·2026-03-27
CVE-2026-33936 [MEDIUM] CWE-130 python-ecdsa: Denial of Service via improper DER length validation in crafted private keys
python-ecdsa: Denial of Service via improper DER length validation in crafted private keys
## Summary
An issue in the low-level DER parsing functions can cause unexpected exceptions to be raised from the public API functions.
1. `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.
2. 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 t
OSV
CVE-2026-33936: The `ecdsa` PyPI package is a pure Python implementation of ECC (Elliptic Curve Cryptography) with support for ECDSA (Elliptic Curve Digital Signature
osv·2026-03-27·CVSS 5.3
CVE-2026-33936 [MEDIUM] CVE-2026-33936: The `ecdsa` PyPI package is a pure Python implementation of ECC (Elliptic Curve Cryptography) with support for ECDSA (Elliptic Curve Digital Signature
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 dime
OSV
python-ecdsa: Denial of Service via improper DER length validation in crafted private keys
osv·2026-03-27
CVE-2026-33936 [MEDIUM] python-ecdsa: Denial of Service via improper DER length validation in crafted private keys
python-ecdsa: Denial of Service via improper DER length validation in crafted private keys
## Summary
An issue in the low-level DER parsing functions can cause unexpected exceptions to be raised from the public API functions.
1. `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.
2. 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 t
Red Hat
python-ecdsa: ecdsa: Denial of Service via crafted DER input
vendor_redhat·2026-03-27·CVSS 5.3
CVE-2026-33936 [MEDIUM] CWE-130 python-ecdsa: ecdsa: Denial of Service via crafted DER input
python-ecdsa: ecdsa: Denial of Service via crafted DER input
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 a
Microsoft
python-ecdsa: Denial of Service via improper DER length validation in crafted private keys
vendor_msrc·2026-03-10·CVSS 5.3
CVE-2026-33936 [MEDIUM] CWE-20 python-ecdsa: Denial of Service via improper DER length validation in crafted private keys
python-ecdsa: Denial of Service via improper DER length validation in crafted private keys
Mariner: Mariner
GitHub_M: GitHub_M
Customer Action Required: Yes
Debian
CVE-2026-33936: python-ecdsa - The `ecdsa` PyPI package is a pure Python implementation of ECC (Elliptic Curve ...
vendor_debian·2026·CVSS 5.3
CVE-2026-33936 [MEDIUM] CVE-2026-33936: python-ecdsa - The `ecdsa` PyPI package is a pure Python implementation of ECC (Elliptic Curve ...
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 dime
No detection rules found.
No public exploits indexed.
2026-03-27
Published