Kutatók szerint a COLDCARD hardveres kriptotárcák firmware-ében található sérülékenységet kihasználva mintegy 88,6 millió dollár értékű Bitcoint lophattak el több ezer olyan tárcából, amelyek seedjét, vagyis helyreállítási alapkódját egy hibás véletlenszám-generátor hozta létre.
A Galaxy Research július 30-án azonosította a támadás első hullámát, amelynek során 41 perc alatt 1 196 címről körülbelül 1 083 BTC-t, mintegy 70,2 millió dollár értékben utaltak el. Az incidens hozzávetőleg 30 órával azelőtt történt, hogy a COLDCARD gyártója, a Coinkite nyilvánosságra hozta volna a sérülékenységet. Valamennyi tranzakció azonos, előre rögzített 30 sat/vB díjtételt alkalmazott, és nem tartalmazott visszajáró kimenetet. Ez arra utal, hogy az elkövetők automatizált eszközzel, már korábban megszerzett privát kulcsok felhasználásával ürítették ki a tárcákat.
Augusztus 1-jére a Galaxy további két támadási hullámot azonosított. A becslések szerint összesen 1 367 BTC-t tulajdonítottak el 4 585 címről. Az ellopott összeg a jelentés elkészítésekor még a támadók által ellenőrzött címeken volt. A Chainalysis szerint az elkövető elsősorban a nagyobb egyenleggel rendelkező tárcákat célozta: az első tíz percben körülbelül 30 millió dollárt szerzett meg, egyetlen áldozattól pedig 1,8 millió dollárt lopott el. Mindez arra utal, hogy az érintett címeket a támadás előtt feltérképezhették és érték szerint rangsorolhatták.
A Block Bitcoin Engineering és Security csapatai más kutatókkal együttműködve elemezték a COLDCARD firmware-ét. Vizsgálatuk szerint a sérülékenységet a véletlenszám-generáló kód integrációs hibája okozta. A firmware hibás ellenőrzése miatt az eszköz az STM32 mikrokontroller hardveres véletlenszám-generátora helyett a MicroPython determinisztikus Yasmarang tartalékmegoldását használta.
A szoftveres generátor az eszköz mikrokontrollerének azonosítójára és rendszeridőzítési értékekre támaszkodott. Ezek nem tekinthetők kriptográfiailag biztonságos entrópiaforrásoknak, és bizonyos körülmények között megfigyelhetők vagy rekonstruálhatók lehetnek. A támadók így offline módon lehetséges seedeket generálhattak, kiszámíthatták a hozzájuk tartozó Bitcoin-címeket, majd összevethették azokat a blokkláncon nyilvánosan látható címekkel. Egyezés esetén előállíthatták a pénzeszközök mozgatásához szükséges privát kulcsokat.
A sérülékenység érintheti az Mk2 és Mk3 eszközök 4.0.1–4.1.9 közötti firmware verzióival létrehozott seedeket, továbbá az Mk4 és Mk5 eszközök 5.6.0 előtti standard, illetve 6.6.0X előtti Edge verzióit. A Q eszközöknél az 1.5.0Q előtti standard és a 6.6.0QX előtti Edge kiadások érintettek. A javítás az Mk2 és Mk3 modelleknél a 4.2.0-s, az Mk4 és Mk5 eszközöknél az 5.6.0-s, a Q modelleknél pedig az 1.5.0Q-s vagy újabb firmware-ben érhető el.
A firmware frissítése önmagában nem teszi biztonságossá a korábban létrehozott seedet. Az érintett felhasználóknak a javított firmware telepítése után új seedet és új tárcát ajánlatos létrehozniuk, majd egy kis összegű teszttranzakciót követően érdemes áthelyezni a fennmaradó pénzeszközöket. A régi biztonsági mentést a migráció sikeres befejezéséig célszerű megőrizni.
A Coinkite szerint a legalább 50 független és titkos dobókockadobással kiegészített seedek önmagában e hiba miatt nem tekinthetők veszélyeztetettnek. Egy erős, egyedi BIP-39 jelmondat szintén megnehezíti a támadást, de nem szünteti meg a seed alapvető gyengeségét, ezért ezekben az esetekben is javasolt a migráció. A TAPSIGNER, OPENDIME és SATSCARD termékek eltérő kódbázisuk miatt nem érintettek. A Coinkite megsemmisítette az érintett firmware-rel kiszállításra váró eszközöket, a már kiszállított termékek vásárlóit pedig e-mailben tájékoztatta a szükséges biztonsági intézkedésekről.