High severity · published Mar 16, 2020
CVE-2017-12842
Bitcoin Core before 0.14 allows an attacker to create an ostensibly valid SPV proof for a payment to a victim who uses an SPV wallet, even if that payment did not actually occur
7.5
CVSS
2.2%
EPSS
No
On KEV
Description
Bitcoin Core before 0.14 allows an attacker to create an ostensibly valid SPV proof for a payment to a victim who uses an SPV wallet, even if that payment did not actually occur. Completing the attack would cost more than a million dollars, and is relevant mainly only in situations where an autonomous system relies solely on an SPV proof for transactions of a greater dollar amount.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
High
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)2.2% · higher than 83% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
BC
Bitcoin Core · Bitcoin
before 0.14.0 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2017-12842
CVE.org
https://www.cve.org/CVERecord?id=CVE-2017-12842
Third Party Advisory
https://bitslog.wordpress.com/2018/06/09/leaf-node-weakness-in-bitcoin-merkle-tree-design/
Vendor Advisory
https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
Third Party Advisory
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-February/016697.html
More from Bitcoin Core
9.8
CVE-2015-20111
miniupnp before 4c90b87, as used in Bitcoin Core before 0.12 and other products, lacks checks for snprintf return values, leading to a buffer overflow and significant data leak, a…
7.5
CVE-2025-46597
Bitcoin Core 0.13.0 through 29.x has an integer overflow
7.5
CVE-2025-54605
Bitcoin Core through 29.0 allows Uncontrolled Resource Consumption (issue 2 of 2)
7.5
CVE-2025-54604
Bitcoin Core through 29.0 allows Uncontrolled Resource Consumption (issue 1 of 2)
7.5
CVE-2024-52912
Bitcoin Core before 0.21.0 allows a network split that is resultant from an integer overflow (calculating the time offset for newly connecting peers) and an abs64 logic bug
