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 1.61% · 75.7th 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 18, 2021 EPSS Score
- Jan 6, 2022 EPSS Score
- Jan 20, 2022 EPSS Score
- Feb 4, 2022 EPSS Score
- Mar 24, 2022 EPSS Score
- Apr 1, 2022 EPSS Score
- May 25, 2022 EPSS Score
- Sep 27, 2022 EPSS Score
- Nov 29, 2022 EPSS Score
References
- https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-May/018893.html url
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures#CVE-2021-31876 url
- https://bitcoinops.org/en/newsletters/2021/05/12/ url
- https://bitcoinops.org/en/topics/replace-by-fee/ advisory
- https://github.com/bitcoin/bitcoin advisory
- 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