Miggo Logo

CVE-2019-14859:
Improper Verification of Cryptographic Signature in Pure-Python ECDSA

9.1

CVSS Score

Basic Information

EPSS Score
-
Published
4/1/2020
Updated
9/20/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
ecdsapip< 0.13.30.13.3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from improper DER encoding validation. The commit diff shows critical additions to remove_integer (checks for zero-padding in integers) and read_length (minimal length encoding validation). These functions directly handled DER parsing but lacked strict encoding rules enforcement pre-patch. The added tests in test_der.py explicitly target these failure modes, confirming their role in the vulnerability.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

* *l*w w*s *oun* in *ll pyt*on-***s* v*rsions ***or* *.**.*, w**r* it *i* not *orr**tly v*ri*y w**t**r si*n*tur*s us** **R *n*o*in*. Wit*out t*is v*ri*i**tion, * m*l*orm** si*n*tur* *oul* ** ****pt**, m*kin* t** si*n*tur* m*ll***l*. Wit*out prop*r v*

Reasoning

T** vuln*r**ility st*mm** *rom improp*r **R *n*o*in* v*li**tion. T** *ommit *i** s*ows *riti**l ***itions to `r*mov*_int***r` (****ks *or z*ro-p***in* in int***rs) *n* `r***_l*n*t*` (minim*l l*n*t* *n*o*in* v*li**tion). T**s* *un*tions *ir**tly **n*l