CVE-2021-31876
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.
EPSS 0.49% · 65.8th percentile
Risk Scores
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| n/a | n/a | n/a |
| bitcoin | bitcoin | 0.12.0 |
Timeline
- May 13, 2021 CVE Published
- May 14, 2021 EPSS Score
- Jul 17, 2021 EPSS Score
- Sep 16, 2021 EPSS Score
- Nov 17, 2021 EPSS Score
- Jan 18, 2022 EPSS Score
- Feb 4, 2022 EPSS Score
- Mar 20, 2022 EPSS Score
- Apr 1, 2022 EPSS Score
- May 21, 2022 EPSS Score
- Jul 23, 2022 EPSS Score
- Sep 23, 2022 EPSS Score
References
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures#CVE-2021-31876 url
- https://bitcoinops.org/en/topics/replace-by-fee/ url
- https://github.com/bitcoin/bitcoin url
- https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-May/018893.html url
- https://bitcoinops.org/en/newsletters/2021/05/12/ url
- https://nvd.nist.gov/vuln/detail/CVE-2021-31876 advisory
- https://bitcoinops.org/en/newsletters/2021/05/12 url
- https://bitcoinops.org/en/topics/replace-by-fee url