Skip to content
OpenAdvisories
Medium · 5.3 Public exploit CVE-2026-33936 EUVD-2026-16856GHSA-9f5j-8jwj-x28gPYSEC-2026-2467

python-ecdsa: Denial of Service via improper DER length validation in crafted private keys

Published Mar 27, 2026 · Updated Apr 1, 2026 · Assigned by GitHub_M

Description

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 products

VendorProductAffectedFixed
tlsfuzzer python-ecdsa < 0.19.2 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 python-ecdsa 0.19.2-1 —
Debian 13 python-ecdsa 0.19.1-1+deb13u1 —
Debian 12 python-ecdsa No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 python-ecdsa No fix yet —
Ubuntu 26.04 LTS python-ecdsa No fix yet —
Ubuntu 25.10 python-ecdsa No fix yet —
Ubuntu 24.04 LTS python-ecdsa No fix yet —
Ubuntu 22.04 LTS python-ecdsa No fix yet —
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS python-ecdsa No fix yet —
Ubuntu 18.04 LTS python-ecdsa No fix yet —
Ubuntu 16.04 LTS python-ecdsa No fix yet —
ReleasePackageFixed inAdvisory
SLES 15 SP7 python-ecdsa 0.13.3-150000.3.10.1 SUSE-SU-2026:1608-1
SLES 3 python-ecdsa 0.18.0-150400.12.6.1 SUSE-SU-2026:1436-1
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 python-ecdsa 0.19.1-160000.4.1 SUSE-SU-2026:22158-1
SLES 16.0 python-ecdsa 0.19.1-160000.4.1 SUSE-SU-2026:22158-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed python-ecdsa 0.19.2-1.1 openSUSE-SU-2026:10468-1
openSUSE Leap 16.0 python-ecdsa 0.19.1-160000.4.1 openSUSE-SU-2026:21078-1
openSUSE Leap 15.6 python-ecdsa 0.18.0-150400.12.6.1 SUSE-SU-2026:1436-1

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 python-ecdsa 0.19.2-1 —

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI ecdsa < 0.19.2 0.19.2 GHSA-9f5j-8jwj-x28g

Advisories 5

References