CVE-2019-14859
python-ecdsa: DER encoding is not being verified in signatures
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD, GHSA. Rated lower by Amazon (high), Red Hat (medium), Ubuntu (medium).
Description
A flaw was found in all python-ecdsa versions before 0.13.3, where it did not correctly verify whether signatures used DER encoding. Without this verification, a malformed signature could be accepted, making the signature malleable. Without proper verification, an attacker could use a malleable signature to create false transactions.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| pip::GitHub Security Advisory pip | ecdsa | 0.13.3 |
| alpine 3.11 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.12 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.13 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.14 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.15 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.16 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.17 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.18 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.19 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.20 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.21 | py3-ecdsa | 0.13.3-r0 |
Show all 34 entries from 32 sources
| Source | Package | Fixed in |
|---|---|---|
| pip::GitHub Security Advisory pip | ecdsa | 0.13.3 |
| alpine 3.11 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.12 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.13 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.14 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.15 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.16 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.17 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.18 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.19 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.20 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.21 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.22 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.23 | py3-ecdsa | 0.13.3-r0 |
| alpine 3.24 | py3-ecdsa | 0.13.3-r0 |
| alpine edge | py3-ecdsa | 0.13.3-r0 |
| amazon linux 1 | python26-ecdsa | 0.11-3.4.amzn1 |
| amazon linux 1 | python27-ecdsa | 0.11-3.4.amzn1 |
| debian 10 | python-ecdsa | 0.13-3+deb10u1 |
| debian 11 | python-ecdsa | 0.13.3-1 |
| debian 12 | python-ecdsa | 0.13.3-1 |
| debian 13 | python-ecdsa | 0.13.3-1 |
| debian 14 | python-ecdsa | 0.13.3-1 |
| debian 8 | python-ecdsa | 0.11-1+deb8u1 |
| debian 9 | python-ecdsa | 0.13-2+deb9u1 |
| echo | python-ecdsa | 0.13.3-1 |
| Red Hat | python-ecdsa | no fix listed |
| Red Hat | python3-ecdsa | no fix listed |
| ubuntu 16.04 | python-ecdsa | 0.13-2ubuntu0.16.04.1 |
| ubuntu 16.04-ESM | python-ecdsa | 0.13-2ubuntu0.16.04.1 |
| ubuntu 18.04 | python-ecdsa | 0.13-2ubuntu0.18.04.1 |
| ubuntu 18.04-ESM | python-ecdsa | 0.13-2ubuntu0.18.04.1 |
| ubuntu 19.04 | python-ecdsa | 0.13-3ubuntu0.1 |
| ubuntu 19.10 | python-ecdsa | 0.13.2-2ubuntu0.1 |
References
- https://access.redhat.com/security/cve/CVE-2019-14859
- https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-14859
- https://en.bitcoinwiki.org/wiki/Transaction_Malleability
- https://github.com/advisories/GHSA-8qxj-f9rh-9fg2
- https://github.com/pypa/advisory-database/tree/main/vulns/ecdsa/PYSEC-2020-163.yaml
- https://github.com/tlsfuzzer/python-ecdsa/commit/3427fa29f319b27898a28601955807abb44c0830
- https://github.com/tlsfuzzer/python-ecdsa/commit/9080d1d5ac533da0de00466aaffb49bee808bb4e
- https://github.com/tlsfuzzer/python-ecdsa/commit/b0ea52bb3aa9a16c9a4a91fdc0041edbfed10b31
All 18 references
- https://github.com/warner/python-ecdsa
- https://github.com/warner/python-ecdsa/issues/114
- https://github.com/warner/python-ecdsa/pull/115
- https://github.com/warner/python-ecdsa/pull/124
- https://github.com/warner/python-ecdsa/releases/tag/python-ecdsa-0.13.3
- https://nvd.nist.gov/vuln/detail/CVE-2019-14859
- https://pypi.org/project/ecdsa/0.13.3
- https://pypi.org/project/ecdsa/0.13.3/
- https://ubuntu.com/security/notices/USN-4196-1
- https://www.cve.org/CVERecord?id=CVE-2019-14859