
Cryptanalyse du Bitcoin : CVE-2025-27840 vulnérabilité dans les microcontrôleurs ESP32 met en danger des milliards d'appareils IoT via Wi-Fi & Bluetooth
Cet article traite de la manière dont un attaquant peut introduire une liste cachée de vulnérabilités via des mises à jour de modules, ce qui peut entraîner le compromis des appareils ESP32 et l'obtention d'un accès non autorisé aux clés privées, affectant des milliards d'appareils utilisant ce microcontrôleur. L'un des problèmes clés est la vulnérabilité CVE-2025-27840 découverte dans l'architecture ESP32. Pour garantir la sécurité du réseau Bitcoin, nous avons identifié les vulnérabilités suivantes, où la possibilité d'utiliser des clés privées invalides en raison de l'absence de vérification de la borne inférieure dans la fonction has_invalid_privkey ; une vulnérabilité de falsification de signature de transaction dans la fonction electrum_sig_hash due à une incompatibilité avec BIP-137 ; un problème de PRNG faible dans la fonction de génération de clé random_key, rendant les clés privées personnelles des portefeuilles de cryptomonnaies prévisibles ; l'absence de vérification des points sur la courbe ECC dans la fonction multiply, ce qui peut mener à des attaques de courbe invalide ; une vulnérabilité dans la fonction ecdsa_raw_sign lors de la restauration de la coordonnée Y, pouvant conduire à une substitution de la clé publique ; et des vulnérabilités liées aux API de hachage obsolètes dans bin_ripemd160.
Au début de mars 2025, Tarlogic Security a identifié une vulnérabilité dans le microcontrôleur ESP32, qui est largement utilisé pour connecter des appareils via WiFi et Bluetooth. Cette vulnérabilité a été enregistrée sous le numéro CVE-2025-27840. Les attaquants peuvent accéder sans autorisation aux données des portefeuilles Bitcoin en utilisant la puce ESP32 comme point d'attaque cryptographique sur les appareils fonctionnant sur les réseaux de cryptomonnaies populaires telles que Bitcoin et Ethereum. Ce problème affecte des millions d'appareils IoT qui utilisent ce microcontrôleur. L'exploitation de cette vulnérabilité permettra aux attaquants de mener des attaques déguisées en utilisateurs légitimes et d'infecter de manière permanente les appareils vulnérables. Cela menace la sécurité des appareils IoT basés sur le microcontrôleur ESP32 et peut conduire au vol des clés privées des portefeuilles Bitcoin.
L'ESP32 est un microcontrôleur largement utilisé dans les appareils IoT pour fournir une connectivité Wi-Fi et Bluetooth. Les attaquants peuvent utiliser diverses méthodes pour accéder aux données des clés privées des portefeuilles Bitcoin via l'ESP32.
Les menaces de sécurité liées au microcontrôleur ESP32 peuvent entraîner le vol des clés privées des portefeuilles Bitcoin. Les principaux problèmes incluent la présence de portes dérobées et de vulnérabilités. En utilisant ces vulnérabilités, ils peuvent manipuler la mémoire, usurper les adresses MAC et injecter du code malveillant, ce qui crée des risques de sécurité graves.
Les attaquants peuvent attaquer les appareils IoT avec un microcontrôleur ESP32 en utilisant des vulnérabilités dans les connexions Bluetooth et Wi-Fi, ce qui peut devenir un outil pour attaquer d'autres appareils sur le réseau lié à Bitcoin, ainsi que pour voler des informations confidentielles, y compris les clés privées des portefeuilles Bitcoin.
Un attaquant peut mettre à jour des modules et introduire une liste de diverses vulnérabilités dans le code, notamment :
has_invalid_privkey qui peut être utilisée pour obtenir la clé privée.electrum_sig_hash permet de falsifier les signatures de transactions Bitcoin.random_key liée à un générateur de nombres pseudo-aléatoires faible (PRNG non déterministe).multiply où il n'y a pas de vérification d'un point sur la courbe ECC.ecdsa_raw_sign et bin_ripemd160.Ces vulnérabilités peuvent être utilisées pour injecter de fausses mises à jour dans les appareils ESP32, donnant aux attaquants un accès bas niveau au système. Cela leur permettra de contourner les contrôles d'audit de code et d'obtenir l'accès aux clés privées. Actuellement, des milliards d'appareils peuvent être vulnérables en raison de fonctionnalités cachées d'un seul composant de leur architecture, qui est désigné comme CVE-2025-27840.
has_invalid_privkeyCette vulnérabilité a été trouvée dans le code de vérification de la clé privée de Bitcoin, permettant l'utilisation de clés invalides (inférieures ou égales à 0) en raison de l'absence de vérification de la borne inférieure. Cela peut entraîner une perte de fonds. Pour corriger cela, une vérification doit être ajoutée pour s'assurer que la clé privée est supérieure à 0. Le code est fourni à des fins de démonstration.