bitcoin CVE Vulnerabilities & Metrics

Focus on bitcoin vulnerabilities and metrics.

Last updated: 08 Mar 2025, 23:25 UTC

About bitcoin Security Exposure

This page consolidates all known Common Vulnerabilities and Exposures (CVEs) associated with bitcoin. We track both calendar-based metrics (using fixed periods) and rolling metrics (using gliding windows) to give you a comprehensive view of security trends and risk evolution. Use these insights to assess risk and plan your patching strategy.

For a broader perspective on cybersecurity threats, explore the comprehensive list of CVEs by vendor and product. Stay updated on critical vulnerabilities affecting major software and hardware providers.

Global CVE Overview

Total bitcoin CVEs: 18
Earliest CVE date: 06 Aug 2012, 16:55 UTC
Latest CVE date: 09 Dec 2023, 19:15 UTC

Latest CVE reference: CVE-2023-50428

Rolling Stats

30-day Count (Rolling): 0
365-day Count (Rolling): 0

Calendar-based Variation

Calendar-based Variation compares a fixed calendar period (e.g., this month versus the same month last year), while Rolling Growth Rate uses a continuous window (e.g., last 30 days versus the previous 30 days) to capture trends independent of calendar boundaries.

Variations & Growth

Month Variation (Calendar): 0%
Year Variation (Calendar): -100.0%

Month Growth Rate (30-day Rolling): 0.0%
Year Growth Rate (365-day Rolling): -100.0%

Monthly CVE Trends (current vs previous Year)

Annual CVE Trends (Last 20 Years)

Critical bitcoin CVEs (CVSS ≥ 9) Over 20 Years

CVSS Stats

Average CVSS: 5.01

Max CVSS: 7.8

Critical CVEs (≥9): 0

CVSS Range vs. Count

Range Count
0.0-3.9 4
4.0-6.9 29
7.0-8.9 7
9.0-10.0 0

CVSS Distribution Chart

Top 5 Highest CVSS bitcoin CVEs

These are the five CVEs with the highest CVSS scores for bitcoin, sorted by severity first and recency.

All CVEs for bitcoin

CVE-2023-50428 bitcoin vulnerability CVSS: 0 09 Dec 2023, 19:15 UTC

In Bitcoin Core through 26.0 and Bitcoin Knots before 25.1.knots20231115, datacarrier size limits can be bypassed by obfuscating data as code (e.g., with OP_FALSE OP_IF), as exploited in the wild by Inscriptions in 2022 and 2023. NOTE: although this is a vulnerability from the perspective of the Bitcoin Knots project, some others consider it "not a bug."

CVE-2023-37192 bitcoin vulnerability CVSS: 0 07 Jul 2023, 00:15 UTC

Memory management and protection issues in Bitcoin Core v22 allows attackers to modify the stored sending address within the app's memory, potentially allowing them to redirect Bitcoin transactions to wallets of their own choosing.

CVE-2023-33297 bitcoin vulnerability CVSS: 0 22 May 2023, 05:15 UTC

Bitcoin Core before 24.1, when debug mode is not used, allows attackers to cause a denial of service (e.g., CPU consumption) because draining the inventory-to-send queue is inefficient, as exploited in the wild in May 2023.

CVE-2021-31876 bitcoin vulnerability CVSS: 6.4 13 May 2021, 22:15 UTC

Bitcoin Core 0.12.0 through 0.21.1 does not properly implement the replacement policy specified in BIP125, which makes it easier for attackers to trigger a loss of funds, or a denial of service attack against downstream projects such as Lightning network nodes. An unconfirmed child transaction with nSequence = 0xff_ff_ff_ff, spending an unconfirmed parent with nSequence <= 0xff_ff_ff_fd, should be replaceable because there is inherited signaling by the child transaction. However, the actual PreChecks implementation does not enforce this. Instead, mempool rejects the replacement attempt of the unconfirmed child transaction.

CVE-2021-3401 bitcoin vulnerability CVSS: 7.5 04 Feb 2021, 05:15 UTC

Bitcoin Core before 0.19.0 might allow remote attackers to execute arbitrary code when another application unsafely passes the -platformpluginpath argument to the bitcoin-qt program, as demonstrated by an x-scheme-handler/bitcoin handler for a .desktop file or a web browser. NOTE: the discoverer states "I believe that this vulnerability cannot actually be exploited."

CVE-2021-3195 bitcoin vulnerability CVSS: 5.0 26 Jan 2021, 18:16 UTC

bitcoind in Bitcoin Core through 0.21.0 can create a new file in an arbitrary directory (e.g., outside the ~/.bitcoin directory) via a dumpwallet RPC call. NOTE: this reportedly does not violate the security model of Bitcoin Core, but can violate the security model of a fork that has implemented dumpwallet restrictions

CVE-2020-14198 bitcoin vulnerability CVSS: 5.0 10 Sep 2020, 17:15 UTC

Bitcoin Core 0.20.0 allows remote denial of service.

CVE-2018-17145 bitcoin vulnerability CVSS: 5.0 10 Sep 2020, 17:15 UTC

Bitcoin Core 0.16.x before 0.16.2 and Bitcoin Knots 0.16.x before 0.16.2 allow remote denial of service via a flood of multiple transaction inv messages with random hashes, aka INVDoS. NOTE: this can also affect other cryptocurrencies, e.g., if they were forked from Bitcoin Core after 2017-11-15.

CVE-2017-12842 bitcoin vulnerability CVSS: 5.0 16 Mar 2020, 20:15 UTC

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.

CVE-2018-20586 bitcoin vulnerability CVSS: 4.3 12 Mar 2020, 21:15 UTC

bitcoind and Bitcoin-Qt prior to 0.17.1 allow injection of arbitrary data into the debug log via an RPC call.

CVE-2017-18350 bitcoin vulnerability CVSS: 4.3 12 Mar 2020, 21:15 UTC

bitcoind and Bitcoin-Qt prior to 0.15.1 have a stack-based buffer overflow if an attacker-controlled SOCKS proxy server is used. This results from an integer signedness error when the proxy server responds with an acknowledgement of an unexpected target domain name.

CVE-2015-3641 bitcoin vulnerability CVSS: 5.0 12 Mar 2020, 21:15 UTC

bitcoind and Bitcoin-Qt prior to 0.10.2 allow attackers to cause a denial of service (disabled functionality such as a client application crash) via an "Easy" attack.

CVE-2019-15947 bitcoin vulnerability CVSS: 5.0 05 Sep 2019, 17:15 UTC

In Bitcoin Core 0.18.0, bitcoin-qt stores wallet.dat data unencrypted in memory. Upon a crash, it may dump a core file. If a user were to mishandle a core file, an attacker can reconstruct the user's wallet.dat file, including their private keys, via a grep "6231 0500" command.

CVE-2018-20587 bitcoin vulnerability CVSS: 2.1 11 Feb 2019, 12:29 UTC

Bitcoin Core 0.12.0 through 0.17.1 and Bitcoin Knots 0.12.0 through 0.17.x before 0.17.1.knots20181229 have Incorrect Access Control. Local users can exploit this to steal currency by binding the RPC IPv4 localhost port, and forwarding requests to the IPv6 localhost port.

CVE-2018-17144 bitcoin vulnerability CVSS: 5.0 19 Sep 2018, 08:29 UTC

Bitcoin Core 0.14.x before 0.14.3, 0.15.x before 0.15.2, and 0.16.x before 0.16.3 and Bitcoin Knots 0.14.x through 0.16.x before 0.16.3 allow a remote denial of service (application crash) exploitable by miners via duplicate input. An attacker can make bitcoind or Bitcoin-Qt crash.

CVE-2016-10725 bitcoin vulnerability CVSS: 5.0 05 Jul 2018, 22:29 UTC

In Bitcoin Core before v0.13.0, a non-final alert is able to block the special "final alert" (which is supposed to override all other alerts) because operations occur in the wrong order. This behavior occurs in the remote network alert system (deprecated since Q1 2016). This affects other uses of the codebase, such as Bitcoin Knots before v0.13.0.knots20160814 and many altcoins.

CVE-2016-10724 bitcoin vulnerability CVSS: 7.8 05 Jul 2018, 22:29 UTC

Bitcoin Core before v0.13.0 allows denial of service (memory exhaustion) triggered by the remote network alert system (deprecated since Q1 2016) if an attacker can sign a message with a certain private key that had been known by unintended actors, because of an infinitely sized map. This affects other uses of the codebase, such as Bitcoin Knots before v0.13.0.knots20160814 and many altcoins.

CVE-2017-9230 bitcoin vulnerability CVSS: 5.0 24 May 2017, 16:29 UTC

The Bitcoin Proof-of-Work algorithm does not consider a certain attack methodology related to 80-byte block headers with a variety of initial 64-byte chunks followed by the same 16-byte chunk, multiple candidate root values ending with the same 4 bytes, and calculations involving sqrt numbers. This violates the security assumptions of (1) the choice of input, outside of the dedicated nonce area, fed into the Proof-of-Work function should not change its difficulty to evaluate and (2) every Proof-of-Work function execution should be independent. NOTE: a number of persons feel that this methodology is a benign mining optimization, not a vulnerability

CVE-2013-5700 bitcoin vulnerability CVSS: 5.0 10 Sep 2013, 11:28 UTC

The Bloom Filter implementation in bitcoind and Bitcoin-Qt 0.8.x before 0.8.4rc1 allows remote attackers to cause a denial of service (divide-by-zero error and daemon crash) via a crafted sequence of messages.

CVE-2013-4627 bitcoin vulnerability CVSS: 5.0 02 Aug 2013, 12:10 UTC

Unspecified vulnerability in bitcoind and Bitcoin-Qt 0.8.x allows remote attackers to cause a denial of service (memory consumption) via a large amount of tx message data.

CVE-2013-4165 bitcoin vulnerability CVSS: 4.3 02 Aug 2013, 12:10 UTC

The HTTPAuthorized function in bitcoinrpc.cpp in bitcoind 0.8.1 provides information about authentication failure upon detecting the first incorrect byte of a password, which makes it easier for remote attackers to determine passwords via a timing side-channel attack.

CVE-2013-3220 bitcoin vulnerability CVSS: 6.4 02 Aug 2013, 12:10 UTC

bitcoind and Bitcoin-Qt before 0.4.9rc2, 0.5.x before 0.5.8rc2, 0.6.x before 0.6.5rc2, and 0.7.x before 0.7.3rc2, and wxBitcoin, do not properly consider whether a block's size could require an excessive number of database locks, which allows remote attackers to cause a denial of service (split) and enable certain double-spending capabilities via a large block that triggers incorrect Berkeley DB locking.

CVE-2013-3219 bitcoin vulnerability CVSS: 5.0 02 Aug 2013, 12:10 UTC

bitcoind and Bitcoin-Qt 0.8.x before 0.8.1 do not enforce a certain block protocol rule, which allows remote attackers to bypass intended access restrictions and conduct double-spending attacks via a large block that triggers incorrect Berkeley DB locking in older product versions.

CVE-2013-2293 bitcoin vulnerability CVSS: 5.0 12 Mar 2013, 11:28 UTC

The CTransaction::FetchInputs method in bitcoind and Bitcoin-Qt before 0.8.0rc1 copies transactions from disk to memory without incrementally checking for spent prevouts, which allows remote attackers to cause a denial of service (disk I/O consumption) via a Bitcoin transaction with many inputs corresponding to many different parts of the stored block chain.

CVE-2013-2292 bitcoin vulnerability CVSS: 7.8 12 Mar 2013, 11:28 UTC

bitcoind and Bitcoin-Qt 0.8.0 and earlier allow remote attackers to cause a denial of service (electricity consumption) by mining a block to create a nonstandard Bitcoin transaction containing multiple OP_CHECKSIG script opcodes.

CVE-2013-2273 bitcoin vulnerability CVSS: 5.0 12 Mar 2013, 11:28 UTC

bitcoind and Bitcoin-Qt before 0.4.9rc1, 0.5.x before 0.5.8rc1, 0.6.0 before 0.6.0.11rc1, 0.6.1 through 0.6.5 before 0.6.5rc1, and 0.7.x before 0.7.3rc1 make it easier for remote attackers to obtain potentially sensitive information about returned change by leveraging certain predictability in the outputs of a Bitcoin transaction.

CVE-2013-2272 bitcoin vulnerability CVSS: 5.0 12 Mar 2013, 11:28 UTC

The penny-flooding protection mechanism in the CTxMemPool::accept method in bitcoind and Bitcoin-Qt before 0.4.9rc1, 0.5.x before 0.5.8rc1, 0.6.0 before 0.6.0.11rc1, 0.6.1 through 0.6.5 before 0.6.5rc1, and 0.7.x before 0.7.3rc1 allows remote attackers to determine associations between wallet addresses and IP addresses via a series of large Bitcoin transactions with insufficient fees.

CVE-2012-4684 bitcoin vulnerability CVSS: 7.8 12 Mar 2013, 11:28 UTC

The alert functionality in bitcoind and Bitcoin-Qt before 0.7.0 supports different character representations of the same signature data, but relies on a hash of this signature, which allows remote attackers to cause a denial of service (resource consumption) via a valid modified signature for a circulating alert.

CVE-2012-4683 bitcoin vulnerability CVSS: 5.0 14 Sep 2012, 23:55 UTC

Unspecified vulnerability in bitcoind and Bitcoin-Qt allows attackers to cause a denial of service via unknown vectors, a different vulnerability than CVE-2012-4682.

CVE-2012-4682 bitcoin vulnerability CVSS: 5.0 14 Sep 2012, 23:55 UTC

Unspecified vulnerability in bitcoind and Bitcoin-Qt allows attackers to cause a denial of service via unknown vectors, a different vulnerability than CVE-2012-4683.

CVE-2012-3789 bitcoin vulnerability CVSS: 5.0 06 Aug 2012, 16:55 UTC

Unspecified vulnerability in bitcoind and Bitcoin-Qt before 0.4.7rc3, 0.5.x before 0.5.6rc3, 0.6.0.x before 0.6.0.9rc1, and 0.6.x before 0.6.3rc1 allows remote attackers to cause a denial of service (process hang) via unknown behavior on a Bitcoin network.

CVE-2012-2459 bitcoin vulnerability CVSS: 5.0 06 Aug 2012, 16:55 UTC

Unspecified vulnerability in bitcoind and Bitcoin-Qt before 0.4.6, 0.5.x before 0.5.5, 0.6.0.x before 0.6.0.7, and 0.6.x before 0.6.2 allows remote attackers to cause a denial of service (block-processing outage and incorrect block count) via unknown behavior on a Bitcoin network.

CVE-2012-1910 bitcoin vulnerability CVSS: 7.5 06 Aug 2012, 16:55 UTC

Bitcoin-Qt 0.5.0.x before 0.5.0.5; 0.5.1.x, 0.5.2.x, and 0.5.3.x before 0.5.3.1; and 0.6.x before 0.6.0rc4 on Windows does not use MinGW multithread-safe exception handling, which allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via crafted Bitcoin protocol messages.

CVE-2012-1909 bitcoin vulnerability CVSS: 5.0 06 Aug 2012, 16:55 UTC

The Bitcoin protocol, as used in bitcoind before 0.4.4, wxBitcoin, Bitcoin-Qt, and other programs, does not properly handle multiple transactions with the same identifier, which allows remote attackers to cause a denial of service (unspendable transaction) by leveraging the ability to create a duplicate coinbase transaction.

CVE-2011-4447 bitcoin vulnerability CVSS: 4.3 06 Aug 2012, 16:55 UTC

The "encrypt wallet" feature in wxBitcoin and bitcoind 0.4.x before 0.4.1, and 0.5.0rc, does not properly interact with the deletion functionality of BSDDB, which allows context-dependent attackers to obtain unencrypted private keys from Bitcoin wallet files by bypassing the BSDDB interface and reading entries that are marked for deletion.

CVE-2010-5141 bitcoin vulnerability CVSS: 7.5 06 Aug 2012, 16:55 UTC

wxBitcoin and bitcoind before 0.3.5 do not properly handle script opcodes in Bitcoin transactions, which allows remote attackers to spend bitcoins owned by other users via unspecified vectors.

CVE-2010-5140 bitcoin vulnerability CVSS: 5.0 06 Aug 2012, 16:55 UTC

wxBitcoin and bitcoind before 0.3.13 do not properly handle bitcoins associated with Bitcoin transactions that have zero confirmations, which allows remote attackers to cause a denial of service (invalid-transaction flood) by sending low-valued transactions without transaction fees.

CVE-2010-5139 bitcoin vulnerability CVSS: 7.5 06 Aug 2012, 16:55 UTC

Integer overflow in wxBitcoin and bitcoind before 0.3.11 allows remote attackers to bypass intended economic restrictions and create many bitcoins via a crafted Bitcoin transaction.

CVE-2010-5138 bitcoin vulnerability CVSS: 5.0 06 Aug 2012, 16:55 UTC

wxBitcoin and bitcoind 0.3.x allow remote attackers to cause a denial of service (electricity consumption) via a Bitcoin transaction containing multiple OP_CHECKSIG script opcodes.

CVE-2010-5137 bitcoin vulnerability CVSS: 5.0 06 Aug 2012, 16:55 UTC

wxBitcoin and bitcoind before 0.3.5 allow remote attackers to cause a denial of service (daemon crash) via a Bitcoin transaction containing an OP_LSHIFT script opcode.