Skip to main content

Search...

Popular searches

Ledger Bitcoin app SegWit fee overpayment vulnerability

LedgerHigh

Who is affected

Users of the Ledger Bitcoin app and SegWit-capable forks before version 1.4.0 could lose funds to inflated fees if their computer's wallet software was compromised and they signed the same transaction twice. Ledger states the issue is fixed in Bitcoin app 1.4.0.

What happened

Ledger’s security bulletin LSB-010 describes a flaw in the Bitcoin app’s implementation of BIP-143, the SegWit signing scheme, that let an attacker increase a transaction’s fee without the change being confirmed on the device. Bitcoin Optech describes the underlying fee overpayment attack as affecting stateless hardware wallets that sign SegWit inputs, and Decrypt reports it was disclosed to several hardware wallet makers, including Ledger and Trezor.

According to Ledger, the attacker must first compromise the user’s client software and then get the user to sign a transaction at least twice, which Ledger considers realistic because the first attempt can be aborted with a fake error. Successful exploitation makes the user lose funds as fees, and the attacker can collude with a miner to collect them. Ledger lists the affected apps as Bitcoin and the forks with SegWit support that use it as a library, including Bitcoin Cash, Bitcoin Gold, Digibyte, Komodo, Litecoin, Qtum, Vertcoin, Zcash and others.

Ledger states the issue is fixed in version 1.4.0 of the Bitcoin app. Bitcoin Optech reports that, unlike Trezor, which began requiring full previous transactions for SegWit inputs, Ledger displays a warning when SegWit inputs are spent without full copies of their previous transactions.

Saleem Rashid reported the flaw through Ledger’s bug bounty programme. Decrypt reports that he disclosed it to hardware wallet makers about three months before the coordinated publication on 3 June 2020.

BlockchainBitcoin

Bitcoin (BTC) is the first decentralized cryptocurrency, launched in 2009. It uses blockchain technology for secure, peer-to-peer digital transactions without intermediaries.

Read full definition
TransactionSegWit

SegWit (Segregated Witness) is a Bitcoin upgrade that moves transaction signatures to a separate data structure, increasing block capacity and enabling efficient scaling solutions like the Lightning Network.

Read full definition
WalletHardware Wallet

A hardware wallet is a dedicated device that keeps private keys offline and signs transactions internally, so the keys never reach an internet-connected computer or phone.

BlockchainFork

A fork is a blockchain split into two chains due to protocol changes or disagreements. Hard forks create permanent divergences; soft forks are backward-compatible.

Read full definition
BlockchainLitecoin

Litecoin (LTC) is a peer-to-peer cryptocurrency forked from Bitcoin in 2011, offering faster block times (2.5 minutes) and using the Scrypt hashing algorithm.

Read full definition
BlockchainZcash

Zcash is a privacy-focused cryptocurrency that uses zero-knowledge proofs to enable shielded transactions, ensuring enhanced confidentiality of transaction details.

Read full definition

Sources

Independent reporting and research this entry was checked against.

  1. Ledger Donjon — Ledger Security Bulletin LSB-010: Massive transaction fees in BTC app and derivative (3 Jun 2020)
  2. Bitcoin Optech — Newsletter #101 (10 Jun 2020)
  3. Decrypt — Bitcoin Segwit bug fix could lock wallet users out of their funds (5 Jun 2020)

Learn more

Guides on protecting yourself against this type of incident (Firmware vulnerability) and the glossary terms that describe it.

Cite this entry

WalletInsights. “Ledger Bitcoin app SegWit fee overpayment vulnerability”. Hardware wallet security incident tracker. Last verified November 3, 2026. https://walletinsights.io/en/security-incidents/ledger-bitcoin-app-segwit-fee-overpayment-2020/

Corrections and right of reply

Vendors, researchers and readers can send corrections or statements to security@walletinsights.io. We check them against the sources, update the entry and record the change in its log.