Every CVE Search/ Get API key

CVE-2019-14853

Duplicate Advisory: possible DoS caused by malformed signature decoding in Pure-Python ECDSA

3.7 LowFix available

An error-handling flaw was found in python-ecdsa before version 0.13.3. During signature decoding, malformed DER signatures could raise unexpected exceptions (or no exceptions at all), which could lead to a denial of service.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

2.41%Up 1.1 points since Apr 14, 2021
90%50%10%1%

What each source reports

CVE List Score used 3.7

An error-handling flaw was found in python-ecdsa before version 0.13.3. During signature decoding, malformed DER signatures could raise unexpected exceptions (or no exceptions at all), which could lead to a denial of service.

Record
CVE-2019-14853
CVSS 3.0
3.7 LowCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-391
Updated
2026-11-02
EUVDEUVD-2019-0047 3.7

An error-handling flaw was found in python-ecdsa before version 0.13.3. During signature decoding, malformed DER signatures could raise unexpected exceptions (or no exceptions at all), which could lead to a denial of service.

Record
EUVD-2019-0047
CVSS 3.0
3.7 LowCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-03
GitHub AdvisoriesGHSA-pwfw-mgfj-7g3g 8.7

ecdsa Denial of Service vulnerability in signature verification and signature malleability

possible DoS in signature verification and signature malleability

Impact

Code using VerifyingKey.verify() and VerifyingKey.verify_digest() may receive exceptions other than the documented BadSignatureError when signatures are malformed. If those other exceptions are not caught, they may lead to program termination and thus Denial of Service

Code using VerifyingKey.verify() and VerifyingKey.verify_digest() with sigdecode option using ecdsa.util.sigdecode_der will accept signatures even if they are not properly formatted DER. This makes the signatures malleable. It impacts only applications that later sign the signatures or verify signatures of signatures, e.g. Bitcoin.

All versions between 0.5 and 0.13.2 (inclusive) are thought to be vulnerable. Code before 0.5 may be vulnerable but didn't receive extended analysis to rule this issue out.

Patches

The patches have been merged to master branch in https://github.com/warner/python-ecdsa/pull/115. The backported patches for a release in the 0.13 branch are in https://github.com/warner/python-ecdsa/pull/124

They are part of the 0.13.3 release.

There are no plans to backport them to earlier releases.

Workarounds

It may be possible to prevent the Denial of Service by catching also UnexpectedDER, IndexError and AssertionError exceptions. That list hasn't been verified to be complete though. If those exceptions are raised, the signature verification process should consider the signature to be invalid.

To remediate signature malleability and the Denial of Service vulnerability, it may be possible to first verify that the signature is properly DER formatted ECDSA-Sig-Value, as defined in RFC3279, before passing it to verify() or verify_digest() methods. If the signature is determined to not follow the DER or encode a different structure, the signature verification process should consider the signature to be invalid.

References

https://en.bitcoinwiki.org/wiki/Transaction_Malleability

For more information

If you have any questions or comments about this advisory please open an issue in python-ecdsa project.

Record
GHSA-pwfw-mgfj-7g3g
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-391, CWE-755
Updated
2026-11-02
GitHub AdvisoriesGHSA-2mrj-435v-c2cr No score

Duplicate Advisory: possible DoS caused by malformed signature decoding in Pure-Python ECDSA

Duplicate Advisory

This advisory has been withdrawn because it is a duplicate of GHSA-pwfw-mgfj-7g3g. This link is maintained to preserve external references.

Record
GHSA-2mrj-435v-c2cr
Updated
2026-11-02
NVD 7.5

An error-handling flaw was found in python-ecdsa before version 0.13.3. During signature decoding, malformed DER signatures could raise unexpected exceptions (or no exceptions at all), which could lead to a denial of service.

Record
CVE-2019-14853
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 3.0
3.7 LowCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:N/I:N/A:P
Weakness
CWE-391, CWE-755
Updated
2026-11-02
OSVALPINE-CVE-2019-14853 7.5

An error-handling flaw was found in python-ecdsa before version 0.13.3. During signature decoding, malformed DER signatures could raise unexpected exceptions (or no exceptions at all), which could lead to a denial of service.

Record
ALPINE-CVE-2019-14853
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-03
Show 17 moreShow less
OSV 7.5

An error-handling flaw was found in python-ecdsa before version 0.13.3. During signature decoding, malformed DER signatures could raise unexpected exceptions (or no exceptions at all), which could lead to a denial of service.

Record
CVE-2019-14853
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2019-14853 7.5

An error-handling flaw was found in python-ecdsa before version 0.13.3. During signature decoding, malformed DER signatures could raise unexpected exceptions (or no exceptions at all), which could lead to a denial of service.

Record
DEBIAN-CVE-2019-14853
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVGHSA-pwfw-mgfj-7g3g 8.7

ecdsa Denial of Service vulnerability in signature verification and signature malleability

possible DoS in signature verification and signature malleability

Impact

Code using VerifyingKey.verify() and VerifyingKey.verify_digest() may receive exceptions other than the documented BadSignatureError when signatures are malformed. If those other exceptions are not caught, they may lead to program termination and thus Denial of Service

Code using VerifyingKey.verify() and VerifyingKey.verify_digest() with sigdecode option using ecdsa.util.sigdecode_der will accept signatures even if they are not properly formatted DER. This makes the signatures malleable. It impacts only applications that later sign the signatures or verify signatures of signatures, e.g. Bitcoin.

All versions between 0.5 and 0.13.2 (inclusive) are thought to be vulnerable. Code before 0.5 may be vulnerable but didn't receive extended analysis to rule this issue out.

Patches

The patches have been merged to master branch in https://github.com/warner/python-ecdsa/pull/115. The backported patches for a release in the 0.13 branch are in https://github.com/warner/python-ecdsa/pull/124

They are part of the 0.13.3 release.

There are no plans to backport them to earlier releases.

Workarounds

It may be possible to prevent the Denial of Service by catching also UnexpectedDER, IndexError and AssertionError exceptions. That list hasn't been verified to be complete though. If those exceptions are raised, the signature verification process should consider the signature to be invalid.

To remediate signature malleability and the Denial of Service vulnerability, it may be possible to first verify that the signature is properly DER formatted ECDSA-Sig-Value, as defined in RFC3279, before passing it to verify() or verify_digest() methods. If the signature is determined to not follow the DER or encode a different structure, the signature verification process should consider the signature to be invalid.

References

https://en.bitcoinwiki.org/wiki/Transaction_Malleability

For more information

If you have any questions or comments about this advisory please open an issue in python-ecdsa project.

Record
GHSA-pwfw-mgfj-7g3g
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-391, CWE-755
Updated
2026-11-02
OSVRHSA-2021:4702 9.8

Red Hat Security Advisory: Satellite 6.10 Release

Record
RHSA-2021:4702
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2019-14853 7.5

An error-handling flaw was found in python-ecdsa before version 0.13.3. During signature decoding, malformed DER signatures could raise unexpected exceptions (or no exceptions at all), which could lead to a denial of service.

Record
UBUNTU-CVE-2019-14853
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 3.0
3.7 LowCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVGHSA-2mrj-435v-c2cr No score

Duplicate Advisory: possible DoS caused by malformed signature decoding in Pure-Python ECDSA

Duplicate Advisory

This advisory has been withdrawn because it is a duplicate of GHSA-pwfw-mgfj-7g3g. This link is maintained to preserve external references.

Record
GHSA-2mrj-435v-c2cr
Updated
2026-11-02
OSVMGASA-2020-0002 No score

Updated python-ecdsa packages fix security vulnerabilities

Updated python-ecdsa packages fix security vulnerabilities:

It was discovered that python-ecdsa incorrectly handled certain signatures. A remote attacker could possibly use this issue to cause python-ecdsa to generate unexpected exceptions, resulting in a denial of service (CVE-2019-14853).

It was discovered that python-ecdsa incorrectly verified DER encoding in signatures. A remote attacker could use this issue to perform certain malleability attacks (CVE-2019-14859).

Record
MGASA-2020-0002
Updated
2026-11-02
OSVopenSUSE-SU-2019:2472-1 No score

Security update for python-ecdsa

This update for python-ecdsa to version 0.13.3 fixes the following issues:

Security issues fixed:

  • CVE-2019-14853: Fixed unexpected exceptions during signature decoding (bsc#1153165).
  • CVE-2019-14859: Fixed a signature malleability caused by insufficient checks of DER encoding (bsc#1154217).

This update was imported from the SUSE:SLE-15:Update update project.

Record
openSUSE-SU-2019:2472-1
Updated
2026-11-02
OSVopenSUSE-SU-2019:2474-1 No score

Security update for python-ecdsa

This update for python-ecdsa to version 0.13.3 fixes the following issues:

Security issues fixed:

  • CVE-2019-14853: Fixed unexpected exceptions during signature decoding (bsc#1153165).
  • CVE-2019-14859: Fixed a signature malleability caused by insufficient checks of DER encoding (bsc#1154217).

This update was imported from the SUSE:SLE-15:Update update project.

Record
openSUSE-SU-2019:2474-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11229-1 No score

python36-ecdsa-0.16.1-1.5 on GA media

These are all security issues fixed in the python36-ecdsa-0.16.1-1.5 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11229-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:13862-1 No score

python310-ecdsa-0.19.0-1.1 on GA media

These are all security issues fixed in the python310-ecdsa-0.19.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13862-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:12008-1 No score

python313-ecdsa-0.19.2-2.2 on GA media

These are all security issues fixed in the python313-ecdsa-0.19.2-2.2 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:12008-1
Updated
2026-11-02
OSVPYSEC-2019-177 No score

An error-handling flaw was found in python-ecdsa before version 0.13.3. During signature decoding, malformed DER signatures could raise unexpected exceptions (or no exceptions at all), which could lead to a denial of service.

Record
PYSEC-2019-177
Updated
2026-11-02
OSVSUSE-SU-2019:2891-1 No score

Security update for python-ecdsa

This update for python-ecdsa to version 0.13.3 fixes the following issues:

Security issues fixed:

  • CVE-2019-14853: Fixed unexpected exceptions during signature decoding (bsc#1153165).
  • CVE-2019-14859: Fixed a signature malleability caused by insufficient checks of DER encoding (bsc#1154217).
Record
SUSE-SU-2019:2891-1
Updated
2026-11-02
OSVSUSE-SU-2019:2891-2 No score

Security update for python-ecdsa

This update for python-ecdsa to version 0.13.3 fixes the following issues:

Security issues fixed:

  • CVE-2019-14853: Fixed unexpected exceptions during signature decoding (bsc#1153165).
  • CVE-2019-14859: Fixed a signature malleability caused by insufficient checks of DER encoding (bsc#1154217).
Record
SUSE-SU-2019:2891-2
Updated
2026-11-02
OSVSUSE-SU-2019:3024-1 No score

Security update for python-ecdsa

This update for python-ecdsa to version 0.13.3 fixes the following issues:

Security issues fixed:

  • CVE-2019-14853: Fixed unexpected exceptions during signature decoding (bsc#1153165).
  • CVE-2019-14859: Fixed a signature malleability caused by insufficient checks of DER encoding (bsc#1154217).
Record
SUSE-SU-2019:3024-1
Updated
2026-11-02
OSVUSN-4196-1 No score

python-ecdsa vulnerabilities

It was discovered that python-ecdsa incorrectly handled certain signatures. A remote attacker could possibly use this issue to cause python-ecdsa to generate unexpected exceptions, resulting in a denial of service. (CVE-2019-14853)

It was discovered that python-ecdsa incorrectly verified DER encoding in signatures. A remote attacker could use this issue to perform certain malleability attacks. (CVE-2019-14859)

Record
USN-4196-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
ecdsa
PyPI
before 0.13.3
0.13.3
py3-ecdsa
Alpine:v3.11
before 0.13.3-r0
0.13.3-r0
py3-ecdsa
Alpine:v3.12
before 0.13.3-r0
0.13.3-r0
py3-ecdsa
Alpine:v3.13
before 0.13.3-r0
0.13.3-r0
py3-ecdsa
Alpine:v3.14
before 0.13.3-r0
0.13.3-r0
py3-ecdsa
Alpine:v3.15
before 0.13.3-r0
0.13.3-r0
py3-ecdsa
Alpine:v3.16
before 0.13.3-r0
0.13.3-r0
py3-ecdsa
Alpine:v3.17
before 0.13.3-r0
0.13.3-r0
py3-ecdsa
Alpine:v3.18
before 0.13.3-r0
0.13.3-r0
py3-ecdsa
Alpine:v3.19
before 0.13.3-r0
0.13.3-r0
Show 63 moreShow less
Affected packages
PackageAffectedFixed
py3-ecdsa
Alpine:v3.20
before 0.13.3-r0
0.13.3-r0
py3-ecdsa
Alpine:v3.21
before 0.13.3-r0
0.13.3-r0
py3-ecdsa
Alpine:v3.22
before 0.13.3-r0
0.13.3-r0
py3-ecdsa
Alpine:v3.23
before 0.13.3-r0
0.13.3-r0
py3-ecdsa
Alpine:v3.24
before 0.13.3-r0
0.13.3-r0
python-ecdsa
Debian:12
before 0.13.3-1
0.13.3-1
python-ecdsa
Debian:13
before 0.13.3-1
0.13.3-1
python-ecdsa
Debian:14
before 0.13.3-1
0.13.3-1
python-ecdsa
Debian:8
before 0.11-1+deb8u1, plus listed versions
0.11-1
0.11-1+deb8u1
python-ecdsa
Debian:9
before 0.13-2+deb9u1, plus listed versions
0.13-2
0.13-2+deb9u1
python-ecdsa
Debian:10
before 0.13-3+deb10u1, plus listed versions
0.13-3
0.13-3+deb10u1
ecdsa
PyPI
before 0.13.3, plus listed versions
0.100.110.120.130.13.1
Show 5 moreShow less
0.13.20.60.70.80.9
0.13.3
python-ecdsa
Mageia:7
before 0.13.3-1.mga7
0.13.3-1.mga7
python-ecdsa
Red Hat:satellite_capsule:6.10::el7
before 0:0.13.3-2.el7pc
0:0.13.3-2.el7pc
python3-ecdsa
Red Hat:satellite_capsule:6.10::el7
before 0:0.13.3-2.el7pc
0:0.13.3-2.el7pc
python-ecdsa
Red Hat:satellite:6.10::el7
before 0:0.13.3-2.el7pc
0:0.13.3-2.el7pc
python3-ecdsa
Red Hat:satellite:6.10::el7
before 0:0.13.3-2.el7pc
0:0.13.3-2.el7pc
tfm-rubygem-activerecord-session_store
Red Hat:satellite:6.10::el7
before 0:2.0.0-1.el7sat
0:2.0.0-1.el7sat
satellite
Red Hat:satellite_capsule:6.10::el7
before 0:6.10.0-3.el7sat
0:6.10.0-3.el7sat
satellite
Red Hat:satellite:6.10::el7
before 0:6.10.0-3.el7sat
0:6.10.0-3.el7sat
candlepin
Red Hat:satellite:6.10::el7
before 0:4.0.9-1.el7sat
0:4.0.9-1.el7sat
python-pyyaml
Red Hat:satellite_capsule:6.10::el7
before 0:5.4.1-1.el7pc
0:5.4.1-1.el7pc
python3-pyyaml
Red Hat:satellite_capsule:6.10::el7
before 0:5.4.1-1.el7pc
0:5.4.1-1.el7pc
python-pyyaml
Red Hat:satellite:6.10::el7
before 0:5.4.1-1.el7pc
0:5.4.1-1.el7pc
python3-pyyaml
Red Hat:satellite:6.10::el7
before 0:5.4.1-1.el7pc
0:5.4.1-1.el7pc
tfm-rubygem-nokogiri
Red Hat:satellite_capsule:6.10::el7
before 0:1.11.3-2.el7sat
0:1.11.3-2.el7sat
tfm-rubygem-nokogiri
Red Hat:satellite:6.10::el7
before 0:1.11.3-2.el7sat
0:1.11.3-2.el7sat
satellite-capsule
Red Hat:satellite_capsule:6.10::el7
before 0:6.10.0-3.el7sat
0:6.10.0-3.el7sat
foreman
Red Hat:satellite_capsule:6.10::el7
before 0:2.5.2.17-2.el7sat
0:2.5.2.17-2.el7sat
foreman
Red Hat:satellite:6.10::el7
before 0:2.5.2.17-2.el7sat
0:2.5.2.17-2.el7sat
python-aiohttp
Red Hat:satellite_capsule:6.10::el7
before 0:3.7.4-1.el7pc
0:3.7.4-1.el7pc
python-aiohttp
Red Hat:satellite:6.10::el7
before 0:3.7.4-1.el7pc
0:3.7.4-1.el7pc
tfm-rubygem-actionpack
Red Hat:satellite:6.10::el7
before 0:6.0.3.7-1.el7sat
0:6.0.3.7-1.el7sat
tfm-rubygem-rails
Red Hat:satellite:6.10::el7
before 0:6.0.3.7-1.el7sat
0:6.0.3.7-1.el7sat
python3-django
Red Hat:satellite_capsule:6.10::el7
before 0:2.2.24-1.el7pc
0:2.2.24-1.el7pc
python3-django
Red Hat:satellite:6.10::el7
before 0:2.2.24-1.el7pc
0:2.2.24-1.el7pc
tfm-rubygem-puma
Red Hat:satellite:6.10::el7
before 0:5.3.2-1.el7sat
0:5.3.2-1.el7sat
tfm-rubygem-addressable
Red Hat:satellite:6.10::el7
before 0:2.8.0-1.el7sat
0:2.8.0-1.el7sat
python-urllib3
Red Hat:satellite_capsule:6.10::el7
before 0:1.26.5-1.el7pc
0:1.26.5-1.el7pc
python3-urllib3
Red Hat:satellite_capsule:6.10::el7
before 0:1.26.5-1.el7pc
0:1.26.5-1.el7pc
python-urllib3
Red Hat:satellite:6.10::el7
before 0:1.26.5-1.el7pc
0:1.26.5-1.el7pc
python3-urllib3
Red Hat:satellite:6.10::el7
before 0:1.26.5-1.el7pc
0:1.26.5-1.el7pc
python-ecdsa
SUSE:Linux Enterprise Module for Basesystem 15 SP1
before 0.13.3-3.3.1
0.13.3-3.3.1
python-ecdsa
SUSE:Linux Enterprise Module for Package Hub 15
before 0.13.3-3.3.1
0.13.3-3.3.1
python-ecdsa
SUSE:Linux Enterprise Module for Public Cloud 15
before 0.13.3-3.3.1
0.13.3-3.3.1
python-ecdsa
SUSE:Linux Enterprise Module for Basesystem 15 SP2
before 0.13.3-3.3.1
0.13.3-3.3.1
python-ecdsa
SUSE:Linux Enterprise Module for Package Hub 15 SP1
before 0.13.3-3.3.1
0.13.3-3.3.1
python-ecdsa
SUSE:Linux Enterprise Module for Package Hub 15 SP2
before 0.13.3-3.3.1
0.13.3-3.3.1
python-ecdsa
SUSE:HPE Helion OpenStack 8
before 0.13.3-5.10.1
0.13.3-5.10.1
python-ecdsa
SUSE:OpenStack Cloud 7
before 0.13.3-5.10.1
0.13.3-5.10.1
python-ecdsa
SUSE:OpenStack Cloud 8
before 0.13.3-5.10.1
0.13.3-5.10.1
python-ecdsa
SUSE:OpenStack Cloud 9
before 0.13.3-5.10.1
0.13.3-5.10.1
python-ecdsa
SUSE:OpenStack Cloud Crowbar 8
before 0.13.3-5.10.1
0.13.3-5.10.1
python-ecdsa
SUSE:OpenStack Cloud Crowbar 9
before 0.13.3-5.10.1
0.13.3-5.10.1
python-ecdsa
SUSE:Linux Enterprise Module for Public Cloud 12
before 0.13.3-5.10.1
0.13.3-5.10.1
python-ecdsa
SUSE:Manager Server 3.2
before 0.13.3-5.10.1
0.13.3-5.10.1
python-ecdsa
Ubuntu:16.04:LTS
before 0.13-2ubuntu0.16.04.1, plus listed versions
0.13-2
0.13-2ubuntu0.16.04.1
python-ecdsa
Ubuntu:18.04:LTS
before 0.13-2ubuntu0.18.04.1, plus listed versions
0.13-2
0.13-2ubuntu0.18.04.1
python-ecdsa
openSUSE:Leap 15.0
before 0.13.3-lp150.2.3.1
0.13.3-lp150.2.3.1
python-ecdsa
openSUSE:Leap 15.1
before 0.13.3-lp151.3.3.1
0.13.3-lp151.3.3.1
python-ecdsa
openSUSE:Tumbleweed
before 0.16.1-1.5
0.16.1-1.5
python-ecdsa
openSUSE:Tumbleweed
before 0.19.0-1.1
0.19.0-1.1
python-ecdsa
openSUSE:Tumbleweed
before 0.19.2-2.2
0.19.2-2.2

History

History
RecordedChangedSources
affected, aliases, referencesOSV
affected
aliases, productsEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2019-14853 is a low vulnerability (CVSS 3.7) in [unknown] Python-ecdsa, published October 8, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.41%, the 84th percentile. Fixed in ecdsa 0.13.3.

References

Show 194 moreShow less
This page doesn't list everything

Left out here: 417 references. The JSON record has them.

MoveEnter Open