Btcpayserver exploit explained: The old check only refused Basic auth if the user had FIDO2 credentials (a hardware security key). If you secured your account with TOTP (Google Authenticator etc.), Fido2Credentials.Any() was false, so the API accepted username+password and never asked for the TOTP code. An attacker who obtained your password (reuse, phishing, a leak, brute force) could authenticate straight into Greenfield and skip the second factor entirely, then call spend endpoints.

Replies (10)

omgitsgio's avatar
omgitsgio 1 week ago
I don't understand though... My lightning node got drained but the hot on chain wallet wasn't touched. Do you think they must have gained access from the front door? My password was securely generated from a password manager so couldn't be reuse or brute force...
omgitsgio's avatar
omgitsgio 1 week ago
I was connected with LIT via node connect (using passphrases). I've noticed a foreign session which was probably used by the attacker
Default avatar
NonMetalCoin 1 week ago
Really doesn’t sound that bad then. Use good passwords and you’re immune?
fade2's avatar
fade2 1 week ago
So not a protocol issue, just an auth. That's some fiat level exploit!! Up your game Kimi!!
Eddie's avatar
Eddie 1 week ago
I made this realization yesterday. It's only a critical vulnerability if you don't use proper password management, which would be critical stupidity for a BTCpay server operator..
Eddie's avatar
Eddie 1 week ago
The @OpenSats "red team" announced this as "upgrade or turn of your server,". That's overly dramatic. Why couldn't the advice be "rotate passwords and make them strong"? After the coldcard fiasco we need balanced and correct security advice. Nobody wins by spreading panic and fear mongering. The community looks already foolish enough as it is right now. Time to up the game. View quoted note →