
Kryptanalytische Studie zu CVE-2025-29774 und SIGHASH_SINGLE-Schwachstellen in Bitcoins ECDSA-Implementierung, die die Wiederherstellung privater Schlüssel durch Nonce-Wiederverwendung und Signaturfälschung für den Zugriff auf verlorene Wallets ermöglicht.
In diesem Forschungspapier wird eine umfassende kryptoanalytische Studie kritischer Schwachstellen in der Implementierung digitaler Signaturen des Bitcoin-Protokolls vorgestellt, nämlich der Phantom-Signature-Angriff (CVE-2025-29774) und der grundlegende SIGHASH_SINGLE-Verarbeitungsfehler. Die Studie zeigt, dass die fehlerhafte Verarbeitung kryptografischer Primitive im Transaktionssignaturmechanismus die Voraussetzungen für die vollständige Kompromittierung der privaten Schlüssel von Kryptowährungs-Wallet-Besitzern ohne deren Wissen schafft. Der Angriff nutzt einen Legacy-Bug im ursprünglichen Satoshi-Client aus, bei dem das System einen universellen Hashwert von „1“ (uint256) zurückgibt, anstatt die Signatur abzulehnen, wenn die Anzahl der Transaktionseingänge und -ausgänge nicht übereinstimmt.
Der praktische Teil der Studie umfasst den Einsatz des KeyFuzzMaster-Kryptografie-Tools zur systematischen Identifizierung von Schwachstellen im Signaturverifizierungscode, bei elliptischen Kurvenoperationen und Transaktions-Hash-Funktionen. Es werden mathematische Formeln zur Wiederherstellung privater Schlüssel durch die Wiederverwendung von Nonces (k-Parameter) im ECDSA-Algorithmus auf der secp256k1-Kurve vorgestellt. Kryptografische Primitive des ECDSA-Algorithmus (Elliptic Curve Digital Signature Algorithm) über der secp256k1-Elliptische-Kurve werden erörtert. Digitale Signaturen in Bitcoin erfüllen eine dreifache Funktion: Autorisierung von Ausgaben, Nichtabstreitbarkeit und Gewährleistung der Transaktionsintegrität.
Allerdings hat die Beibehaltung altbewährter Architekturlösungen zur Gewährleistung der Abwärtskompatibilität zur Entstehung subtiler kryptografischer Schwachstellen mit potenziell katastrophalen Folgen geführt. Unter diesen, sticht der SIGHASH_SINGLE-Bug hervor — ein grundlegender Fehler im Mechanismus zur Erzeugung von Signatur-Hashes, der aus der ursprünglichen Bitcoin-Core-Implementierung übernommen und in den Netzwerk-Konsens integriert wurde.
| CVE-Kennung | Komponente | CVSS-Score | Kritikalität |
|---|---|---|---|
| CVE-2025-29774 | xml-crypto / SIGHASH_SINGLE | 9.3 | Kritisch |
| CVE-2025-29775 | xml-crypto DigestValue bypass | 9.3 | Kritisch |
| CVE-2025-48102 | GoUrl Bitcoin Payment Gateway (Stored XSS) | 5.9 | Mittel |
| CVE-2025-26541 | CodeSolz WooCommerce Gateway (Reflected XSS) | 6.1 | Mittel |
Bitcoin verwendet die secp256k1-Elliptische-Kurve, die durch den SECG-Standard (Standards for Efficient Cryptography Group) definiert ist. Die Kurve wird durch die Weierstrass-Gleichung über einem endlichen Körper definiert:
Kurvengleichung:
y² ≡ x³ + ax + b (mod p)
Für secp256k1:
y² ≡ x³ + 7 (mod p), wobei a = 0, b = 7
Die Parameter der secp256k1-Kurve werden durch das Tupel T = (p, a, b, G, n, h) bestimmt:
secp256k1-Parameter:
p = 2²⁵⁶ − 2³² − 977 (die Primzahl, die einen endlichen Körper definiert)
n = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
(die Ordnung der Kurvenpunktgruppe ist die ganzzahlige Ordnung des Generators G)
G = (Gₓ, Gᵧ) — fester Basispunkt (Generator)