Ledger verhelpt kwetsbaarheid in Ethereum-app die ondertekeningsflows raakt
Belangrijkste punten
- •De kwetsbaarheid werd op 12 augustus verholpen in Ledger Ethereum-app versie 1.22.2.
- •Een kwaadaardige dApp had een APDU-raceconditie kunnen gebruiken om transactiegegevens tijdens het ondertekenen te vervangen.
- •De fout trof de clear signing-flows van Ledger, die bedoeld zijn om transactiedetails op het apparaat leesbaar te maken.
- •Ledger meldde dat het beveiligingsteam Donjon het probleem vóór externe openbaarmaking vond en oploste.
- •Er zijn geen meldingen van verloren fondsen gekoppeld aan deze kwetsbaarheid.

Ledger verhielp op 12 augustus geruisloos een kwetsbaarheid in zijn Ethereum-app voor hardware wallets, die een kwaadaardige gedecentraliseerde applicatie in staat had kunnen stellen een legitieme transactie tijdens het ondertekenen te vervangen door een schadelijke. De fix was opgenomen in Ethereum-app versie 1.22.2, al maakte het bedrijf er publiek weinig over bekend totdat een beveiligingsonderzoeker het probleem onder de aandacht bracht.
De fout betrof een raceconditie in APDU-commando's, een type kwetsbaarheid waarbij concurrerende instructies het apparaat in een volgorde kunnen bereiken die het ondertekeningsproces verstoort. In de praktijk kon een gebruiker in de veronderstelling verkeren een kleine tokenoverdracht goed te keuren, terwijl er in werkelijkheid onbeperkte token-goedkeuringen werden verleend aan een adres onder controle van een aanvaller.
Hoe de kwetsbaarheid werkte
APDU staat voor Application Protocol Data Unit, het communicatieformaat dat software op een computer gebruikt om te communiceren met de beveiligde chip binnenin een Ledger-apparaat. Tijdens de “clear signing”-flows van Ledger, waarbij het apparaat voor mensen leesbare transactiedetails op het scherm toont, had de raceconditie een tweede, kwaadaardig APDU-commando ongemerkt binnen kunnen dringen en de oorspronkelijke transactiegegevens kunnen vervangen.
Voor de aanval was een gecompromitteerde of kwaadaardige dApp nodig om het timingvenster te misbruiken. Een gebruiker die met een vertrouwde, legitieme applicatie werkte, werd niet aan het probleem blootgesteld.
Het interne beveiligingsteam van Ledger, bekend als Donjon, ontdekte de fout voordat een externe onderzoeker deze identificeerde. Het bedrijf meldde dat Donjon met AI-ondersteunde tools het probleem vond en oploste.
Openbare openbaarmaking volgde op de patch
De patch werd op 12 augustus uitgebracht zonder beveiligingsadvies, blogpost of openbare post op X. Ongeveer 10 dagen lang was de fix van kracht met nauwelijks publieke aandacht.
Dat veranderde tussen 21 en 23 augustus, toen een beveiligingsonderzoeker die de naam TestMachine gebruikt publiekelijk de bug openbaar maakte. TestMachine beschreef het risico op transactiesubstitutie en de werking van de raceconditie, waarmee de aandacht werd gevestigd op een kwetsbaarheid waarvan de meeste Ledger-gebruikers het bestaan niet kenden, laat staan dat deze al was verholpen.
TestMachine wees naar verluidt een bounty-aanbod van Ledger af.
Ledger-CTO Charles Guillemet reageerde kritisch op de openbare openbaarmaking en omschreef deze als bangmakerij. Guillemet benadrukte dat gebruikers die de nieuwste versie van de Ethereum-app draaiden al beschermd waren en dat Ledger het probleem had afgehandeld vóór de openbaarmaking door TestMachine.
Clear signing en bredere context
De kwetsbaarheid is vooral opvallend omdat deze de clear signing-flows van Ledger trof, precies de functie die de risico's van blind signing moet beperken. Ledger heeft zwaar geïnvesteerd in het maken van clear signing tot standaard, waaronder eerder werk aan de ERC-7730-standaard, die moet standaardiseren hoe transactiegegevens op hardware wallets worden weergegeven. Daarmee reikt dit probleem verder dan een enkel bugrapport: het ligt op het snijvlak van walletbeveiliging, de leesbaarheid van transacties en de langlopende inspanning om ondertekening op het apparaat gemakkelijker te verifiëren voordat gebruikers een verzoek goedkeuren.
Er zijn geen meldingen binnengekomen van fondsen die door deze kwetsbaarheid verloren zijn gegaan. Ledger meldde dat Donjon de patch proactief uitrolde voordat er een externe melding werd ingediend. Voor gebruikers en ontwikkelaars die in Ethereum-gebaseerde workflows op hardware wallets leunen, onderstreept deze gebeurtenis bovendien waarom app-updates belangrijk zijn, zelfs wanneer de onderliggende firmware van het apparaat onveranderd blijft.
Voor Ledger-gebruikers is de kernles eenvoudig: werk de Ethereum-app bij naar versie 1.22.2 of later als dat nog niet is gebeurd.