Bitcoin Institute

Warning: don't use -server or bitcoind where you web browse (v0.3.2 and lower)

10 messages BitcoinTalk Satoshi Nakamoto, Quantumplation, franzl, fresno, Martti Malmi, Gavin Andresen July 19, 2010 — July 24, 2010
Satoshi Nakamoto July 19, 2010 16:01 UTC

Don’t use the -server or -daemon switch or run bitcoind on a machine where you use a web browser.  It opens port 8332 on 127.0.0.1, the local loopback address, and you wouldn’t think that web browsers could cross-site access it, but it is possible.

We’re working on a release soon that puts a password on the JSON-RPC interface, but until then, avoid using the -server switch, and don’t web browse on the same machine where bitcoind is running.

Update: The JSON-RPC HTTP authentication feature in 0.3.3 solves this problem.

Quantumplation July 19, 2010 16:03 UTC

satoshi: How many other developers do you have working with you?

Martin (another forum member and I) were talking about writing a .Net compatible library for integrating bitcoins into other programs.

franzl July 20, 2010 11:07 UTC
Quote from: Quantumplation on July 19, 2010, 4:03:41 PM UTC

Martin (another forum member and I) were talking about writing a .Net compatible library for integrating bitcoins into other programs.

I think this is a very good idea! I also think it’s important to have a PHP library since this is an important programming language for e-commerce sites. It would help a great deal in acceptance of bitcoin as a currency.

Quantumplation July 20, 2010 16:59 UTC

Franzl: >_> I abhor PHP, so I can’t help you there, but some day (Completely overwhelmed with projects right now, but some day…) we might write the .net library.

fresno July 21, 2010 01:42 UTC
Quote from: Satoshi Nakamoto on July 19, 2010, 4:01:38 PM UTC

Don’t use the -server or -daemon switch or run bitcoind on a machine where you use a web browser.  It opens port 8332 on 127.0.0.1, the local loopback address, and you wouldn’t think that web browsers could cross-site access it, but it is possible.

This sounds like something I would not like to have happen, but what does it mean? Let’s face it, we’re ALL generating Bitcoins on everything we can get hold of. What is the potential damage, in language my Mom might understand?

Martti Malmi (sirius) July 21, 2010 05:53 UTC
Quote from: fresno on July 21, 2010, 1:42:34 AM UTC
Quote from: Satoshi Nakamoto on July 19, 2010, 4:01:38 PM UTC

Don’t use the -server or -daemon switch or run bitcoind on a machine where you use a web browser.  It opens port 8332 on 127.0.0.1, the local loopback address, and you wouldn’t think that web browsers could cross-site access it, but it is possible.

This sounds like something I would not like to have happen, but what does it mean? Let’s face it, we’re ALL generating Bitcoins on everything we can get hold of. What is the potential damage, in language my Mom might understand?

Malicious websites could have a javascript that steals all your coins.

Gavin Andresen July 21, 2010 15:01 UTC

You can still generate bitcoins, just don’t run bitcoind or bitcoin -server or bitcoin -daemon on machine that you use to browse the Web.

As sirius says, if you do you could browse to a website that empties your Bitcoin wallet without your knowledge or permission.

fresno July 21, 2010 15:27 UTC

I’m full of dumb questions today: Are there any other conceivable problems? And would the daemon be protected of it were on a VM and/or chrooted? Thanks.

Gavin Andresen July 21, 2010 16:10 UTC

chroot: won’t protect you.

Running as a separate VM: I think will protect you. But I thought browsers wouldn’t allow XMLHTTPRequests to “localhost” from web pages fetched from the web, so my advice would be to test it. See if you can talk to the Bitcoin daemon from another VM on the same machine by running “bitcoind getinfo” or “bitcoin getinfo” on the non-bitcoin-vm.

Satoshi Nakamoto July 24, 2010 02:29 UTC

The JSON-RPC HTTP authentication feature in 0.3.3 solves this problem.