Vulnerabilities > CVE-2017-9230 - Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) vulnerability in Bitcoin
Summary
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
Vulnerable Configurations
Part | Description | Count |
---|---|---|
Application | 1 |
Common Weakness Enumeration (CWE)
References
- http://www.mit.edu/~jlrubin//public/pdfs/Asicboost.pdf
- http://www.mit.edu/~jlrubin//public/pdfs/Asicboost.pdf
- http://www.securityfocus.com/bid/98657
- http://www.securityfocus.com/bid/98657
- https://arxiv.org/ftp/arxiv/papers/1604/1604.00575.pdf
- https://arxiv.org/ftp/arxiv/papers/1604/1604.00575.pdf
- https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-April/013996.html
- https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-April/013996.html
- https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014349.html
- https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014349.html
- https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014351.html
- https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014351.html
- https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014352.html
- https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014352.html