Loading...

Follow Bitcoin Core on Feedspot

Continue with Google
Continue with Facebook
or

Valid

Bitcoin Core version 0.18.0 is now available for download containing several bug fixes and minor improvements. For a complete list of changes, please see the release notes.

If have any questions, please stop by the #bitcoin IRC chatroom (IRC, web) and we’ll do our best to help you.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Bitcoin Core version 0.17.1 is now available for download containing several bug fixes and minor improvements. For a complete list of changes, please see the release notes.

If have any questions, please stop by our IRC chatroom and we’ll do our best to help you.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Bitcoin Core version 0.17.0 is now available for download containing many new features as well as bug fixes and other improvements. For a complete list of changes, please see the release notes.

This release is not vulnerable to the CVE-2018-17144 duplicate inputs bug.

If have any questions, please stop by our IRC chatroom and we’ll do our best to help you.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Full disclosure

CVE-2018-17144, a fix for which was released on September 18th in Bitcoin Core versions 0.16.3 and 0.17.0rc4, includes both a Denial of Service component and a critical inflation vulnerability. It was originally reported to several developers working on Bitcoin Core, as well as projects supporting other cryptocurrencies, including ABC and Unlimited on September 17th as a Denial of Service bug only, however we quickly determined that the issue was also an inflation vulnerability with the same root cause and fix.

In order to encourage rapid upgrades, the decision was made to immediately patch and disclose the less serious Denial of Service vulnerability, concurrently with reaching out to miners, businesses, and other affected systems while delaying publication of the full issue to give times for systems to upgrade. On September 20th a post in a public forum reported the full impact and although it was quickly retracted the claim was further circulated.

At this time we believe over half of the Bitcoin hashrate has upgraded to patched nodes. We are unaware of any attempts to exploit this vulnerability.

However, it still remains critical that affected users upgrade and apply the latest patches to ensure no possibility of large reorganizations, mining of invalid blocks, or acceptance of invalid transactions occurs.

Technical Details

In Bitcoin Core 0.14, an optimization was added (Bitcoin Core PR #9049) which avoided a costly check during initial pre-relay block validation that multiple inputs within a single transaction did not spend the same input twice which was added in 2012 (PR #443). While the UTXO-updating logic has sufficient knowledge to check that such a condition is not violated in 0.14 it only did so in a sanity check assertion and not with full error handling (it did, however, fully handle this case twice in prior to 0.8).

Thus, in Bitcoin Core 0.14.X, any attempts to double-spend a transaction output within a single transaction inside of a block will result in an assertion failure and a crash, as was originally reported.

In Bitcoin Core 0.15, as a part of a larger redesign to simplify unspent transaction output tracking and correct a resource exhaustion attack the assertion was changed subtly. Instead of asserting that the output being marked spent was previously unspent, it only asserts that it exists.

Thus, in Bitcoin Core 0.15.X, 0.16.0, 0.16.1, and 0.16.2, any attempts to double-spend a transaction output within a single transaction inside of a block where the output being spent was created in the same block, the same assertion failure will occur (as exists in the test case which was included in the 0.16.3 patch). However, if the output being double-spent was created in a previous block, an entry will still remain in the CCoin map with the DIRTY flag set and having been marked as spent, resulting in no such assertion. This could allow a miner to inflate the supply of Bitcoin as they would be then able to claim the value being spent twice.

Timeline

Timeline for September 17, 2018: (all times UTC)

  • 14:57 anonymous reporter reports reports crash bug to: Pieter Wuille, Greg Maxwell, Wladimir Van Der Laan of Bitcoin Core, deadalnix of Bitcoin ABC, and sickpig of Bitcoin Unlimited.
  • 15:15 Greg Maxwell shares the original report with Cory Fields, Suhas Daftuar, Alex Morcos and Matt Corallo
  • 17:47 Matt Corallo identifies inflation bug
  • 19:15 Matt Corallo first tries to reach slushpool CEO to have a line of communication open to apply a patch quickly
  • 19:29 Greg Maxwell timestamps the hash of a test-case which demonstrates the inflation vulnerability (a47344b7dceddff6c6cc1c7e97f1588d99e6dba706011b6ccc2e615b88fe4350)
  • 20:15 John Newbery and James O’Beirne are informed of the vulnerability so they can assist in alerting companies to a pending patch for a DoS vulnerability
  • 20:30 Matt Corallo speaks with slushpool CTO and CEO and shares patch with disclosure of the Denial of Service
  • 20:48 slushpool confirmed upgraded
  • 21:08 Alert was sent to Bitcoin ABC that a patch will be posted publicly by 22:00
  • 21:30 (approx) Responded to original reporter with an acknowledgment
  • 21:57 Bitcoin Core PR 14247 published with patch and test demonstrating the Denial of Service bug
  • 21:58 Bitcoin ABC publishes their patch
  • 22:07 Advisory email with link to Bitcoin Core PR and patch goes out to Optech members, among others
  • 23:21 Bitcoin Core version 0.17.0rc4 tagged

September 18, 2018:

  • 00:24 Bitcoin Core version 0.16.3 tagged
  • 20:44 Bitcoin Core release binaries and release announcements were available
  • 21:47 Bitcointalk and reddit have public banners urging people to upgrade

September 19, 2018:

  • 14:06 The mailing list distributes an additional message urging people to upgrade by Pieter Wuille

September 20, 2018:

  • 19:50 A developer by the title earlz independently discovered and reported the vulnerability to the Bitcoin Core security contact email.
Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Bitcoin Core version 0.16.3 is now available for download with a fix for a denial-of-service vulnerability introduced in Bitcoin Core 0.14.0 and affecting all subsequent versions though to 0.16.2. We highly recommend users of all affected versions immediately upgrade to 0.16.3.

Security issue CVE-2018-17144: it was discovered that older versions of Bitcoin Core will crash if they try to process a block containing a transaction that attempts to spend the same input twice. Such blocks are invalid, so they can only be created by a miner willing to sacrifice their allowed income for creating a block of at least 12.5 BTC (about $80,000 USD as of this writing). This release eliminates the crash, allowing the software to quietly reject such invalid blocks.

For a complete list of changes, please see the release notes. If have any questions, please stop by our IRC chatroom and we’ll do our best to help you.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Bitcoin Core version 0.16.2 is now available for download. All users are encouraged to upgrade to this maintenance release that fixes several bugs and provides backports of new minor features, such as:

  • The verifytxoutproof RPC is no longer vulnerable to a particular expensive attack against SPV proofs publicly disclosed in early June. The attack was considered unlikely given that much cheaper attacks of roughly equal effectiveness are well known. Similarly, the getblock RPC also now returns extra information that can be used to defeat this attack even if the requested block has been pruned. None of this mitigates the attack for actual SPV clients.

  • The abandontransaction RPC has been fixed to abandon all descendant transactions, not just children. As before, you can call this RPC when you no longer want your wallet to re-broadcast an old unconfirmed transaction. Note that the RPC can not force miners or other nodes to forget about the transaction.

For a complete list of changes, please see the release notes. If have any questions, please stop by our IRC chatroom and we’ll do our best to help you.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Bitcoin Core version 0.16.1 is now available for download. All users are encouraged to upgrade to this maintenance release that fixes several bugs and provides backports of new minor features, such as:

  • Mitigating a vector for denial-of-service attacks. This attack required compromising particular services and would’ve probably been most effective against nodes that were started for the first time (rather than nodes that had already been connected to the network for more than a few hours).

  • Fixing a bug that could’ve potentially caused miners to lose revenue if they produced two blocks in very rapid succession.

  • Ceasing relay of transactions using the rarely-seen OP_CODESEPARATOR opcode for legacy (non-segwit) signature scripts. The presence of this opcode makes it difficult for nodes to estimate how much computational work will be required to validate a legacy signature script. Because of that, it blocks the deployment of solutions to prevent attackers from creating blocks that require a long time to validate. By itself, this change to relay policy doesn’t fix the problem itself, but it does make it easier and safer to deploy proposed solutions in the future should users consent to adopt them.

For a complete list of changes, please see the release notes. If have any questions, please stop by our IRC chatroom and we’ll do our best to help you.

Read Full Article
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Separate tags by commas
To access this feature, please upgrade your account.
Start your free month
Free Preview