Note: articles are for educational purposes and are not professional security advice — consult an expert for your specific needs.

BTCPay Server 2.4.1 thefts: Rebuild, not just update

In short

Attackers exploited a vulnerability in BTCPay Server 2.4.1 and earlier to drain Bitcoin and Litecoin hot wallets. The flaw was fixed in 2.4.2, but exposed installations need a fresh server, a new wallet seed and replaced credentials; updating to 2.4.7 alone does not remove prior access. Older servers still need rebuilding even if wallet keys were kept off-server.

Summary written with AI from this article, and checked against it.

Compromised server and old key beside a clean server and new wallet, illustrating BTCPay Server 2.4.1 recovery

Affected systems and impact

FlawAffected systemsImpact
Unauthenticated remote access to LND .macaroon credential filesBTCPay Server 2.4.1 and earlierAttackers can obtain credentials to control an LND node and move funds
Not statedNot statedNot stated

Attackers drained Bitcoin and Litecoin from hot wallets on BTCPay Server 2.4.1 and earlier. The project's recovery guidance is blunt: spin up a fresh server with a new wallet, don't just update. The vulnerability was patched in 2.4.2; the current push is for 2.4.7. Log in, scroll to the page footer, and read the version there before you decide between an update and a full rebuild.

For merchants running this self-hosted processor, the exposure goes past the wallet balance. A hot wallet leaves spending keys on the box; once unauthorized access is suspected, operators should treat the machine and every secret it holds as compromised. The Hacker News places the first theft reports around 1 November 2026. The project still hasn't nailed down when exploitation actually started.

Log in to BTCPay Server and note the version at the bottom of the page. Now figure out what version was running when the project sounded the alarm on 1 November. The version you see today doesn't settle the recovery call — the project explicitly includes operators who updated an old installation after that warning.

BTCPay Server at a glance: Create a new wallet with a new seed on a trusted device; Do not reuse the old seed; Provision a fresh virtual machine; Do not enter replacement credentials on the old machine

Why an August patch drives November's rebuild order

The relevant fix predates the reports. BTCPay Server shipped 2.4.2 on 7 August 2026 to close the vulnerability, then pushed more security updates through August–October — 2.4.4 and 2.4.5 among them. The investigation says attackers used a different method to exploit the same flaw that 2.4.2 already fixed.

A wallet drain logged in the incident reports hit at 13:46 UTC on 1 November. The project's first theft-report email arrived at 20:56 UTC; the public warning went out at 22:25 UTC, telling operators to shut down while they investigated. By 2 November they'd identified 2.4.1 and earlier as the targets.

There was another security update in the same window. BleepingComputer notes that the emergency 2.4.7 release followed an October 29 disclosure of a critical vulnerability found via Anthropic's Frontier OSS scanner. The October 29 disclosure and the emergency 2.4.7 release do not prove the newly disclosed flaw caused these thefts.

The Hacker News leaves the link to the August vulnerability uncertain. The project's own investigation is more specific: it identifies a different exploitation method against the vulnerability fixed in August. That primary account drives the recovery paths above.

Rebuilding BTCPay Server 2.4.1 means new machine, new wallet, new credentials

Moving a 2.4.1 installation to a fresh machine isn't permission to carry the old wallet seed across. The project says reusing that seed leaves funds at risk. Its recovery guidance also explains why a normal update won't cut it:

“An unchanged wallet balance does not rule out an earlier attack.”

— BTCPay Server's security incident report

Follow the project's recovery sequence for an affected installation or any installation showing theft or unauthorized access.

  1. Create a new wallet with a new seed on a trusted device. Sweep any remaining funds from the existing hot wallet into it. Do not reuse the old seed when preparing the replacement server.

  2. Take the old server offline. Preserve relevant logs and transaction records for the investigation before replacing it. Those records also help when reporting the incident to the project.

  3. Provision a fresh virtual machine. Install the latest supported BTCPay Server release from trusted sources and connect the new wallet. Do not restore the entire old server onto the replacement machine.

  4. Revoke and replace potentially exposed passwords and access keys from a trusted device. Include applicable hosting, SSH, application, API and Lightning credentials that the old server could access. Do not enter replacement credentials on the old machine.

My take: a new machine doesn't change the project's warning about an old seed or exposed credentials.

Update if you're clean, but don't mistake it for recovery

For an installation already on 2.4.2 or later when the warning landed, the project reports no observed impact from these attacks. I'd say operators should still install current security updates. BleepingComputer gives the dashboard route as Server Settings → Maintenance → Update and names 2.4.7 as the target.

For a Docker installation, log in over SSH and run these commands to enter the root shell, switch to the deployment directory and execute the update script.

sudo su -
cd btcpayserver-docker
./btcpay-update.sh

Afterward, log in and check the version at the bottom of the page again. Checking the version confirms the update, not recovery from compromise.

Do not use this procedure as the entire recovery for a BTCPay Server 2.4.1 installation that was still on that version when the warning arrived. Updating after the warning does not remove the project's recommendation to rebuild.

Off-server keys protect funds, but the old host still needs replacement

Wallets whose spending keys lived off the server — hardware wallets included — were unaffected by these thefts, according to the project. Accepting payments into those wallets remains its recommended practice. However, the recommendation to rebuild an older server still applies even when its wallet keys were kept elsewhere.

For a merchant that doesn't need server-held spending keys, I'd choose the off-server arrangement. If daily operations require a hot wallet, the project recommends keeping only the funds needed for those operations on the server and moving the rest to a wallet with spending keys held elsewhere.

The investigation also has boundaries. The project says it has no credible reports of hot-wallet drains from users running the latest 2.4.7 release; that's a statement about reports received, not a blanket guarantee. It hasn't established the full attack timeline, and the published destination addresses' balances and histories aren't a confirmed total of losses.

Report theft without leaking more secrets

If funds were stolen or unauthorized activity appeared, email security@btcpayserver.org. The project asks for information that connects the installation's history with the transactions:

  • The version running at the time, when it was last updated and the previous version, if known.
  • When the incident was noticed, including the timezone.
  • Relevant public transaction IDs and addresses.

Never send seed phrases, private keys, passwords or other credentials. Strip secrets from logs and configuration files before sharing them. If funds were stolen, the project also asks operators to report the theft to local authorities.

My priority would be to establish which recovery path applies before treating an update as closure. My take: for an exposed older installation, the practical endpoint is a fresh host, a new wallet seed and replaced credentials — not merely a newer version number.

FAQ

Frequently asked questions

Why is my hosted BTCPay Server instance offline?

Your hosting provider may have shut it down as a precaution. BTCPay Server contacted providers, including LunaNode, on 1 November and asked them to take instances offline. On 2 November, it reported that LunaNode and other providers had done so. If your hosted instance was running 2.4.1 or earlier, the project says to contact your provider for help moving to a fresh virtual machine.

Which Bitcoin and Litecoin destination addresses were reported?

BTCPay Server published Bitcoin address bc1p0f7wmcnesrapznymf9ljdn04pudgmh96sqtrm9vmgqxdh666fh8qvn63r7 and Litecoin address ltc1qp49tmfdueyaqrmgrx0uyx4uegyygt8yt02whee. The project says some activity appears to predate the reported thefts and has not established which transactions belong to this incident.

What access did BTCPay Server’s August advisory describe?

The August advisory described a vulnerability that could let an unauthenticated remote attacker obtain LND .macaroon credential files. Those credentials could be used to control an LND node and move funds. The project said the attacks reviewed at that time targeted only files with the .macaroon extension.

Sources

Primary sources

  1. Write-upSecurity Incident Affecting BTCPay Server 2.4.1 and Earlier · blog.btcpayserver.org
  2. Write-upEnterprise Email Security Assessment · adaptivesecurity.com

Reports of the story

  1. News reportHackers Exploit BTCPay Server Flaw to Steal Bitcoin and Litecoin From Hot Wallets · thehackernews.com
  2. News reportBTCPay Server warns of hot wallet crypto thefts on outdated instances · bleepingcomputer.com
Vishal

About the author

· Software & security engineer

GitHub · LinkedIn · X

Vishal writes Trickyworld's tutorials and interview-preparation guides on programming, databases, cyber security and AI. Vishal has been shipping production software long enough to have firm opinions about Python, PHP, Node.js, and JavaScript, and to have been wrong about each of them at least once. The work has run the whole stack: Drupal and Laravel applications, React front ends, MySQL and MongoDB underneath, Redis and Memcached for the things that had to be fast, Apache Solr for the things that had to be findable. That last part turned out to matter more than anyone expected. Tune a Solr index for a season, then watch a language model confidently retrieve the wrong document, and you recognise an old problem wearing new clothes. Most of what is hard about AI systems is not the model. It is retrieval, caching, latency budgets, and deciding what the system does when the answer comes back wrong — which is work he has been doing since well before anyone called it AI engineering. He plays a lot of games, which is less a hobby disclosure than an admission of where a good share of his engineering instinct came from. Real-time systems with a frame budget. State that has to stay coherent while a player does something no designer anticipated. The permanent question of what happens when the frame cannot finish in time. Those habits carry over more directly than they have any right to. He has written several books on programming, all built on the same conviction: most technical writing is unclear because the author never decided what to leave out. More from Vishal → · Editorial policy

More on Cyber Security.

Latest articles

$ subscribe --weekly

Get the next tutorial in your inbox.

Programming, security and AI — the practical bits, no spam. Unsubscribe any time.