Bitcoin full node and query server

August 2023

Archive of the libbitcoin Slack #general channel.

Thursday, August 10, 2023

evoskuil13:17
Twitter
Spaces at 430 w @evoskuil to discuss the BX wallet vulnerability
evoskuil19:10
Anyone around for meet today?
pmienk19:12
I can be available
jungly19:13
I'll be an hour later than the usual time. On a plane right now
evoskuil19:14
I’ve got the pubkey call at 4:30 ET
pmienk19:16
Topic: Dev Weekly Status Time: Now? Join Zoom Meeting https://us05web.zoom.us/j/87666370902?pwd=bEZDUlJ0MGJ5V3dVMUhVdHl5QzdFdz09 Meeting ID: 876 6637 0902 Passcode: 85U0bF
evoskuil19:16
Sure
jungly19:17
You guys go ahead. If there's anything you want me to do, do ping me. I have time all day tomorrow.
evoskuil19:17
👍

Friday, August 11, 2023

jungly07:40
Re: https://github.com/libbitcoin/libbitcoin-explorer/issues/728 Is there a simpler change where `bx seed` sends a warning to stderr and continues to output a demo seed to stdout?
3 replies · neillm, evoskuil · last Aug 11, 2023
neillm15:41
Maybe that's an acceptable change for v3 and it can be removed for v4(?)
evoskuil18:08
That would be an easy change, but I don’t think it’s sufficient to assume someone who does not read help or documentation would instead heed a stderr warning. Renaming the command (eg demo-seed) would at least make it explicit in the name as well.
evoskuil18:30
I’d recommend removal for now and then consider options for v4 when it’s closer to release.
👍 1
jungly22:05
PR for obsoleting bx seed. Let me know if we should change that message. https://github.com/libbitcoin/libbitcoin-explorer/pull/729
(edited)
jungly22:13
Re the wiki: There's 71 mentions of bx seed there. I will go ahead and hard code the seed. So we'll go from bx seed | bx ec-new to echo 21c89350aa605453cc16892fc3760efc4a2eee33becd1e3e | bx ec-new
4 replies · neillm, evoskuil, jungly · last Aug 14, 2023
neillm23:55
That's a lot of updating -- much thanks! 😅
evoskuil16:40
👍🏻
jungly21:53
Here's a patch removing all references to bx seed from the wiki. If this looks fine, let me know. I can push the changes to the wiki.
bx-seed-removal.patch Diff · 34.5 KB
diff --git a/Home.md b/Home.md
index 0037975..f39c7d9 100644
--- a/Home.md
+++ b/Home.md
@@ -7,10 +7,9 @@ BX is a general purpose Bitcoin command line utility that supports Linux, OS X a
 ### Example
 
 ```sh
-$ bx seed | bx ec-new | bx ec-to-public | bx ec-to-address
-13ua8RRSxLpL5WL5cKUDepUCvJZgGWuKh7
+$ echo 21c89350aa605453cc16892fc3760efc4a2eee33becd1e3e | bx ec-new | bx ec-to-public | bx ec-to-address
+16u9onWrUZLVZz2RieGuSghzM6Z7WELL9u
 ```
 
-**Do not use `bx seed` outside of examples!** See [Random Numbers](Random-Numbers).
-
 If you encounter problems or have suggestions please use the [issues board](https://github.com/libbitcoin/libbitcoin-explorer/issues).
+
diff --git a/How to Receive Bitcoin.md b/How to Receive Bitcoin.md
index afc6413..e9557b6 100644
--- a/How to Receive Bitcoin.md	
+++ b/How to Receive Bitcoin.md	
@@ -1,21 +1,18 @@
-Generate a **private key** from a random **seed** value.
+Generate a **private key** from a seed that you supply. Below we use the seed `21c89350aa605453cc16892fc3760efc4a2eee33becd1e3e`. DO NOT USE THIS SEED FOR ANY WALLETS WITH FUNDS.
 ```sh
-$ bx seed | bx ec-new
+$ echo 21c89350aa605453cc16892fc3760efc4a2eee33becd1e3e | bx ec-new
 ```
 
-**Do not use `bx seed` to receive real bitcoin!** See [Random Numbers](Random-Numbers).
-
 ```
-dbcd61584666028ac88798bacdc76f4b (seed)
-4ce3eb6bd06c224e3c355352a488720efc5ac9fe527a219ad35178c3cf762350 (private key)
+9bec42c594db6693a1e4367a3686b5f8aeca522ce6cf21d8371c27d1c4be4105
 ```
 Create a Bitcoin **address** from the private key.
 ```sh
-$ bx ec-to-public 4ce3eb6bd06c224e3c355352a488720efc5ac9fe527a219ad35178c3cf762350 | bx ec-to-address
full file
evoskuil14:42
Thanks. I should have cable up in a day or two and a pc. Hard for me to do it on the phone.

Saturday, August 12, 2023

neillm23:46
@jungly Merge https://github.com/libbitcoin/libbitcoin-explorer/pull/729 at will -- thanks for taking this on too!
Maybe v4 can have demo-seed enabled? Or perhaps insecure-seed 🤷‍♂️
neillm23:54
Just thinking out loud here, but demo-seedseems like a fixed seed for testing and insecure-seed seems like psuedo-random (and neither should be used outside of docs/examples). I don't feel strongly about it. Maybe removing anything seed is the answer too 🤔

Wednesday, August 16, 2023

evoskuil21:28
Just got Internet and PC back up from the move. Count me in for tomorrow's meeting. I'll try and get through the wiki update and any open PRs in the next day.
🙏🏾 1🙏 2

Thursday, August 17, 2023

pmienk16:57
Topic: Dev Weekly Status Time: August 17, 2023 01:00pm Pacific Time (US and Canada) Join Zoom Meeting https://us05web.zoom.us/j/87666370902?pwd=bEZDUlJ0MGJ5V3dVMUhVdHl5QzdFdz09 Meeting ID: 876 6637 0902 Passcode: 85U0bF

Wednesday, August 23, 2023

evoskuil15:26
The following CVE has been published in relation to BX. https://nvd.nist.gov/vuln/detail/CVE-2023-39910 Libbitcoin developers have: * Removed the `seed` command from version3 (and master). * Tagged a new 3.8.0 release (without the command). * Replaced `bx seed` with `echo [user entropy]` in certain documentation examples. * Removed precompiled binaries for previous bx versions. * Submitted the two items of feedback below to MITRE (CVE maintainers). * Posted this notice to the libbitcoin Slack and mailing list. ---------------------------------------------------------------------------------- The libbitcoin open source team rejects the implication that the issue is of "bad cryptography" and accepts that people may have used the command in a manner not intended (and warned against). Consequently we have simply removed the command in updated version 3.8.0. All examples in the provided documentation have been updated to replace `bx seed` with `echo [user entropy]`. Precompiled binaries of older versions previously available for download have been removed. As such there is no longer any potential for the command to be misused in the current release. https://github.com/libbitcoin/libbitcoin-explorer/releases/tag/v3.8.0 https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-hd-new#example-4 https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX ---------------------------------------------------------------------------------- From the CVE Description: "...NOTE: the vendor's position is that there was sufficient documentation advising against "bx seed" but others disagree." The question is not of "sufficiency", but intent. The bx 3.x `seed` command was not intended for live wallet use. The warning against it is even referenced in the "Milk Sad" article. The fact that some people appear to have used the command for live wallet seeding implies that documentation may have been "insufficient", however it is ultimately impossible to force people to read, understand and respect documentation. In fact we have been advised by the authors of this CVE that the two parties identified in their research did not even read the documentation for the `seed` command - they assumed its behavior. It is a design goal that users provide entropy on the command line (or by parameter to any API that requires it), which is why the command is not necessary. It was provided as a convenient way to obtain properly formatted and sized (length, not strength) pseudo entropy for the vast majority of use cases. bx demonstrates C++ calling conventions and usage of many of the APIs exposed by the 9 other libraries, tying those calls to real-world scenarios in order to provide context and therefore better understanding of what are often difficult topics. bx is not a wallet - manual creation of live wallets using the "development toolkit" requires significant expertise and caution and is not advised. Suggested description: "The Bitcoin developer toolkit utility application Libbitcoin Explorer (bx) provides a pseudo entropy command not intended for live cryptocurrency wallet seeding, yet analysis implies that some users may have not heeded warnings against such use. This allows remote attackers to recover any wallet private keys generated from "bx seed" entropy output and steal funds. (Affected users need to move funds to a secure new cryptocurrency wallet.) NOTE: this was exploited in the wild in June and July 2023." https://github.com/libbitcoin/libbitcoin-explorer/wiki/Random-Numbers https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-cert-new https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-seed ----------------------------------------------------------------------------------

Thursday, August 24, 2023

pmienk10:41
Topic: Dev Weekly Status Time: August 24, 2023 01:00pm Pacific Time (US and Canada) Join Zoom Meeting https://us05web.zoom.us/j/87666370902?pwd=bEZDUlJ0MGJ5V3dVMUhVdHl5QzdFdz09 Meeting ID: 876 6637 0902 Passcode: 85U0bF
evoskuil19:52
Can’t make today.
pmienk19:53
no problem, hope everything's going well.

Friday, August 25, 2023

evoskuil00:31
Yeah, just had to help out family here.

Thursday, August 31, 2023

pmienk16:00
Topic: Dev Weekly Status Time: August 31, 2023 01:00pm Pacific Time (US and Canada) Join Zoom Meeting https://us05web.zoom.us/j/87666370902?pwd=bEZDUlJ0MGJ5V3dVMUhVdHl5QzdFdz09 Meeting ID: 876 6637 0902 Passcode: 85U0bF
evoskuil20:02
coming