Hello! I am a frontend developer, with a curious mind and a passion for learning. Since 2024, I have been interested in finance, blockchain, and Bitcoin. Now, I want to take the next step: sharing my knowledge and contributing to projects that connect technology and education.
The August 2026 critical vulnerability
Admin Dashboard > Server > Maintenance > Update, then check that the footer displays 2.4.2. If you cannot update straight away, shut down your BTCPay Server. Once updated, you must also completely refresh your macaroons and your macaroons.db, completely refresh the authentication strings of any other Lightning backend, and, if you generated a hot on-chain wallet inside BTCPay Server, move those funds and recreate the wallet. Integrators should also update NBXplorer to version 2.6.10. Source: BTCPay Server 2.4.2 release notes.brunoerg and benthecarman through the Bitcoin Red Team effort. The same release also fixes a TOTP two-factor authentication bypass through Greenfield Basic authentication, and disables Greenfield Basic authentication by default five minutes after account creation.- Updating is not optional and not something to schedule for next week. An unpatched instance that is reachable from the internet must be either updated or switched off.
- Updating is not enough on its own. If your instance was compromised before you patched, the attacker may already hold copies of your Lightning credentials and of any hot wallet key material BTCPay Server generated for you. Those secrets stay valid after the update until you rotate them. The rotation section below is the part people skip, and it is the part that actually protects your funds.
Step 1 — Find out which version you are running
Admin Dashboard > Server > Maintenance, which shows the current version and the update controls.GET /api/v1/server/info returns the version as well.2.4.2 is vulnerable.Step 2 — Update
Self-hosted Docker deployment (the standard install)
- Go to
Admin Dashboard > Server > Maintenance. - Click Update.
- Wait for the containers to be pulled and restarted. The interface will be unavailable for a few minutes.
sudo su - cd "$BTCPAY_BASE_DIRECTORY/btcpayserver-docker" . ./btcpay-update.sh
$BTCPAY_BASE_DIRECTORY is /root, so the directory is /root/btcpayserver-docker. The script pulls the latest images, recreates the containers, and prints the resulting versions.2.6.10. If you run NBXplorer separately — typical for integrators and for custom stacks — update it explicitly.Umbrel
2.4.2, stop the app from the Umbrel dashboard and wait for the packaged release rather than leaving a vulnerable instance running.Start9 / StartOS
2.4.2, stop the service until it is.Managed and third-party hosting
Step 3 — Verify the update actually landed
2.4.2 or higher.Step 4 — Rotate your credentials
Lightning: LND
macaroons.db file. Deleting the macaroon files alone is not enough — LND derives macaroons from the root key stored in macaroons.db, so an attacker holding a copy of an old macaroon keeps access until that database is recreated.macaroons.db and the *.macaroon files from the network directory (for mainnet, data/chain/bitcoin/mainnet/ inside the LND data directory), then restart and unlock LND, which recreates them. Back up the directory first, and re-pair every application that used the old macaroons — BTCPay Server itself, Zeus, Thunderhub, RTL, Alby, and any script you wrote.lnd.conf credentials at the same time.Lightning: other backends
- Core Lightning: regenerate the rune or the access credentials used by the connection.
- Phoenixd: rotate the HTTP password.
- LNbits and similar: revoke and reissue the admin and invoice keys.
- Remote node connection strings stored in BTCPay Server store settings: rewrite them with the new secrets.
Hot on-chain wallet generated inside BTCPay Server
- Create a new wallet, ideally with a hardware wallet so the keys never sit on the server again.
- Sweep the funds from the old wallet to the new one.
- Replace the derivation scheme in the store settings with the new wallet.
- Never reuse the old seed.
BTCPay Server accounts and API keys
- Change the passwords of every user account on the instance.
- Revoke and reissue all Greenfield API keys.
- Re-enroll two-factor authentication, given that 2.4.2 fixes a 2FA bypass.
- Open
Admin Dashboard > Server > Usersand check that no unexpected account exists. - Review recent payouts, pull payments and refunds for entries you did not create.
- Review your webhooks and their secrets.
Step 5 — Stay informed for the next one
- Watch the BTCPay Server releases on GitHub — GitHub can email you on every new release of a repository.
- Follow the project's announcement channels and the official blog.
- Keep your instance on a version you can update quickly: the further behind you are, the more painful an emergency update becomes.
Author
This tutorial has been written by Béni-Christ
You can say thanks by tipping the professor.
Credits
This tutorial has not been proofread yet
Even if this content is in its original language, human review is necessary to ensure its accuracy.
0 sats0 sats0 satsEvery content on the platform is the result of a collaborative effort: each lesson, translation, and revision is made possible by the work of contributors. For this reason, we are always looking for proofreaders who can review our content in many languages. If you want to participate in the proofreading process, please reach out in our Telegram group and read our tutorial. We remind you that this content is open-source - licensed under CC BY-SA - so it can be freely shared and used, as long as the original source is credited.


