LONDON (IT BOLTWISE) – Ein schwacher Zufallszahlengenerator in CryptoJS soll über Jahre in Wallet-Apps für die Generierung von Wiederherstellungsphrasen (Seed Phrases) genutzt worden sein. Eine Analyse ordnet den Verlust durch zwei Abflusswellen auf eine untere Schätzung von rund 5,7 Millionen US-Dollar bis Mitte Juli ein. Der Angriff macht aus verringertem Suchraum ein Muster, das sich auch mit Standard-Hardware enumerieren lässt. Betroffene Nutzer müssen nach der Migration neue Seed Phrasen sicher erzeugen und die Mittel umziehen.

Der Kern des Problems liegt nicht in einer klassischen Schwachstelle wie einem gestohlenen Schlüssel, sondern in der Qualität der Zufallszahlen: Coinspect macht die JavaScript-Funktion CryptoJS.lib.WordArray.random() für einen schwachen Zufallszahlengenerator verantwortlich, der als Entropiequelle in Wallet-Software eingewirkt haben soll. Die Funktion stammt aus der CryptoJS-Bibliothek und wurde laut Analyse vor rund 12 Jahren eingeführt. Entscheidend ist dabei, dass einige Wallets die Ausgabe dieser Funktion nicht nur für „irgendeinen“ technischen Zweck genutzt haben, sondern explizit als Grundlage für Wiederherstellungsphrasen, also für die Seed-Generierung, über die sich später Wallet-Adressen deterministisch ableiten lassen.
Die Folge dieser konkreten Fehlannahme ist brutal einfach in ihrer Wirkung: Wenn die Entropie beim Generieren zu klein ist, wird der Suchraum beim späteren Ausprobieren deutlich kleiner. Coinspect analysierte Entropiebreiten von 128 und 256 Bit, die eigentlich Suchräume von 2^128 beziehungsweise 2^256 nahelegen. In den betroffenen Fällen soll der fehlerhafte Generator den effektiven Suchraum jedoch auf grob 2^39 bis 2^47 reduziert haben. Das reicht laut der Veröffentlichung aus, um mögliche Seeds beziehungsweise Phrasen mit Enumerationsmethoden auf gewöhnlicher Hardware zu durchlaufen. Der beschriebene Angriffspfad umfasst dabei das Enumerieren von Generator-Ausgaben, das Umwandeln in BIP39-Phrasen, das Ableiten von Adressen sowie den Abgleich mit öffentlichen Blockchain-Daten.
Auf der Schaden-Seite nennt Coinspect eine messbare Untergrenze: Rund 5.690.922 US-Dollar Verlust bis zum 13. Juli, ermittelt aus zwei Drain-Wellen seit Ende Mai. Ein erster Sweep am 27. Mai habe etwa 3,14 Millionen US-Dollar aus 431 Konten abgezogen. Die zweite Welle zwischen 30. Mai und 13. Juli wird mit etwa 2,55 Millionen US-Dollar aus Adressen beschrieben, die zu 522 Seeds gehören; darin sind rund 2,18 Millionen USDT aus einem Tron-Konto am 4. Juli enthalten. Insgesamt verfolgte die spätere Auswertung etwa 2.114 identifizierte Seeds und zugehörige Adressen über mehrere Ketten hinweg, darunter Bitcoin, Ethereum, Tron, Rootstock und Polygon. Damit handelt es sich um eine „lower bound“, also eine konservative Mindestannahme, weil nicht jede gefährdete Wallet-Installation vollständig verifiziert werden konnte.
Coinspect bestätigt fünf Anwendungen, die nach deren Angaben den fehlerhaften Generator als Entropiequelle für die Wiederherstellungsphrasen nutzten: RRWallet (laut Coinspect ohne Fix, zudem als „discontinued“ geführt), Bexo Wallet (Fix in Version 20.1.0, wobei Coinspect betonte, dass die aktualisierten Builds zum Zeitpunkt der Prüfung noch nicht hochgeladen waren), NanChat (eigene Bestätigung vor Version 1.3.0, Fix in 1.3.0), Bitcoin Libre (Fix in Version 4, Release im Juli 2024) sowie Milo (laut Coinspect „discontinued“ und ohne Fix). Wichtig ist die Aussage zur praktischen Reparierbarkeit: Ein App-Update „repariert“ eine bereits erzeugte Wiederherstellungsphrase nicht. Wenn eine gefährdete Version eine Phrase erzeugt hat, bleibt diese Phrase in der Regel auch dann erratbar, wenn sie später in andere Wallet-Software oder sogar in Hardware-Wallets importiert wird. Wer betroffen ist, muss nach der Migration eine neue Seed Phrase sicher erzeugen und die Mittel auf die daraus abgeleiteten frischen Adressen umziehen.
Technisch ordnet die Veröffentlichung den Rückverlauf der CryptoJS-Änderungen ein: Coinspect beschreibt einen Multiply-With-Carry-Generator, der im Juni 2014 aus Math.random() gespeist worden sei. Releases 3.2.0 und 3.2.1 hätten dann auf native kryptografische Zufallsquellen umgestellt, doch in Version 3.3.0 sei der schwache Code wieder eingeführt worden, weil die Änderung offenbar als „breaking“ galt. Das bedeutet für Entwicklerteams: Ein Upgrade innerhalb der 3.x-Reihe kann ein Projekt vom „gefixten“ Zustand zurück in eine verwundbare Variante verschieben, selbst wenn ein Versionssprung zunächst wie ein Patch wirkt. Erst Version 4.0.0 habe native Zufallsquellen dauerhaft wiederhergestellt, laut Coinspect im Februar 2020.
Aus Hersteller- und Advisory-Sicht stützt die Veröffentlichung die Relevanz der Abhängigkeit mit einer konkreten Meldung: Der CryptoJS-Maintainer Evan Vosberg veröffentlichte am 5. August ein GHSA mit der Bezeichnung GHSA-rg76-677x-56q9, bewertet mit „Critical“ und einem CVSS-Score von 9,0. In der Package-Section listet das Advisory demnach Releases unterhalb von 4.0.0 als betroffen auf, trotz der genannten Ausnahmen in 3.2.0 und 3.2.1. Coinspect betont dabei die wichtige Differenzierung: Eine Anwendung ist aus ihrer Sicht nur dann ausnutzbar, wenn die vulnerable Funktion tatsächlich als Entropiequelle für sicherheitskritische Werte dient. Eine reine Abhängigkeit von CryptoJS allein erfüllt diesen Bedingungen-Check nicht. Sobald eine Phrase aus dem Output des schwachen Generators einmal erzeugt ist, können spätere Verarbeitungsschritte wie Hashing oder PBKDF2 die fehlende Entropie nicht „zurückholen“; selbst ein nachträgliches Update der Paketabhängigkeiten ändert daran nichts.
Für die Betreiberseite und die Risikosteuerung folgt daraus ein sehr konkreter Handlungsplan: Erstens sollten Wallets und Browser-Extensions die tatsächliche Seed-Generierungsstrecke auditieren, nicht nur die Bibliotheksversion. Coinspect nennt zudem einen möglichen Einstieg über ferrumnet/bip39, eine React-Native-Fork, die upstream bip39 durch CryptoJS ersetzt und damit die native kryptografische Zufallsquelle aushebelt. Zweitens rät die Veröffentlichung Nutzern, die Seed-Generierung über ihre App- oder Extension-Historie hinweg als potenziell kompromittiert zu bewerten, wenn die App-Version im betroffenen Zeitraum lag. Die öffentliche Prüflogik von Coinspect akzeptiert dabei Wallet-Adressen, nicht Recovery Phrases oder private Schlüssel; ein Treffer bedeutet ein unmittelbares Risiko für zugehörige Assets, ein negatives Ergebnis bedeutet hingegen nur, dass die Adresse nicht in den veröffentlichten Datensätzen auftaucht. Damit wird aus der reinen Patch-Story eine Migrations- und Key-Management-Aufgabe.
💳 Amazon-Kreditkarte mit 2.000 Euro Limit bestellen!
🔥 Heutige Hot Deals bei Amazon: Bis zu 80% Rabatte!
🎉 Amazon Haul-Store für absolute Schnäppchenjäger!
- ★ 23-stufiges KI-Go-Training – Für Spieler mit Grundkenntnissen der Regeln – Entwickelt als intelligenter Trainingspartner passt sich die KI Spielern von 18K bis 9D an. Ideal für alle, die die Grundregeln bereits beherrschen und ihr Spiel verbessern möchten.
- IHR EMOTIONALER AI-BEGLEITER: Eiliko ist mehr als nur ein Anhänger, es ist ein charismatischer KI-Freund. Mit einem dynamischen LED-Bildschirm, der eine Vielzahl von animierten Gesichtern und Ausdrucksformen anzeigt, reagiert er auf Ihre Interaktionen mit einzigartiger Persönlichkeit und Charme.
- 【MEHR LEBEN FÜR DEINEN SCHREIBTISCH】 Lerne Eilik kennen – deinen kleinen Roboter-Freund mit Persönlichkeit. Mit liebevollen Animationen, ausdrucksstarken Reaktionen und spielerischen Interaktionen bringt Eilik mehr Freude in deinen Alltag. Ob auf dem Schreibtisch, im Büro oder am Nachttisch – Eilik wird schnell zu einem vertrauten Begleiter für besondere Momente.
- 【XL-Größe für gedeihende Pflanzen】Geben Sie Ihren Pflanzen den Raum, den sie verdienen! Unser verbessertes, großes 13,7 cm großes Design bietet Platz für Pflanzen mit einem Durchmesser von bis zu 8,9 cm und damit deutlich mehr Platz für Wurzelwachstum und Pflanzengesundheit im Vergleich zu kleineren, veralteten Modellen. Die Produktabmessungen betragen 13,6 x 13,6 x 13,2 cm und das Gerät wiegt nur 355 g.
- V28 Update - JETZT MIT NEUEN FUNKTIONEN! Als Reaktion auf das Ladeproblem von Loona haben wir das automatische Aufladen 2.0 verbessert. Diese Optimierung hilft Loona, die Ladewege in verschiedenen Szenarien zu erkennen und anzupassen, um die Erfolgsquote beim automatischen Aufladen zu erhöhen. Mobile Hotspots können sich mit Loona verbinden und überwinden WLAN-Einschränkungen, sodass Sie jederzeit und überall mit Loona interagieren können.
- Die besten Bücher rund um KI & Robotik!

- Die besten KI-News kostenlos per eMail erhalten!
- Zur Startseite von IT BOLTWISE® für aktuelle KI-News!
- IT BOLTWISE® kostenlos auf Patreon unterstützen!
- Aktuelle KI-Jobs auf StepStone finden und bewerben!
- Künstliche Intelligenz: Dem Menschen überlegen – wie KI uns rettet und bedroht | Der Neurowissenschaftler, Psychiater und SPIEGEL-Bestsellerautor von »Digitale Demenz«
Du hast einen wertvollen Beitrag oder Kommentar zum Artikel "Schwacher Zufallsgenerator in CryptoJS: Folgen für Wiederherstellungsphrasen" für unsere Leser?


#Sophos
Es werden alle Kommentare moderiert!
Für eine offene Diskussion behalten wir uns vor, jeden Kommentar zu löschen, der nicht direkt auf das Thema abzielt oder nur den Zweck hat, Leser oder Autoren herabzuwürdigen.
Wir möchten, dass respektvoll miteinander kommuniziert wird, so als ob die Diskussion mit real anwesenden Personen geführt wird. Dies machen wir für den Großteil unserer Leser, der sachlich und konstruktiv über ein Thema sprechen möchte.
Du willst nichts verpassen?
Du möchtest über ähnliche News und Beiträge wie "Schwacher Zufallsgenerator in CryptoJS: Folgen für Wiederherstellungsphrasen" informiert werden? Neben der E-Mail-Benachrichtigung habt ihr auch die Möglichkeit, den Feed dieses Beitrags zu abonnieren. Wer natürlich alles lesen möchte, der sollte den RSS-Hauptfeed oder IT BOLTWISE® bei Google News wie auch bei Bing News abonnieren.
Nutze die Google-Suchmaschine für eine weitere Themenrecherche: »Schwacher Zufallsgenerator in CryptoJS: Folgen für Wiederherstellungsphrasen« bei Google Deutschland suchen, bei Bing oder Google News!