
Criptoanálise Bitcoin: Vulnerabilidade CVE-2025-27840 em Microcontroladores ESP32 Coloca Bilhões de Dispositivos IoT em Risco via Wi-Fi & Bluetooth
Este artigo discute como um atacante pode introduzir uma lista oculta de vulnerabilidades por meio de atualizações de módulos, o que pode levar ao comprometimento de dispositivos ESP32 e à obtenção de acesso não autorizado a chaves privadas, afetando bilhões de dispositivos que usam este microcontrolador. Uma das questões-chave é a CVE-2025-27840 vulnerabilidade descoberta na arquitetura do ESP32. Para garantir a segurança da rede Bitcoin, identificamos as seguintes vulnerabilidades, incluindo a possibilidade de usar chaves privadas inválidas devido à falta de verificação do limite inferior na função has_invalid_privkey; uma vulnerabilidade na falsificação de assinaturas de transações na função electrum_sig_hash devido à incompatibilidade com BIP-137; um problema de PRNG fraco na função de geração de chaves random_key, tornando previsíveis as chaves privadas pessoais de carteiras de criptomoedas; falta de verificação de pontos na curva ECC na função multiply, o que pode levar a ataques de curva inválida; uma vulnerabilidade na função ecdsa_raw_sign ao restaurar a coordenada Y, potencialmente levando à substituição da chave pública; e vulnerabilidades relacionadas a APIs de hash obsoletas em bin_ripemd160.
No início de março de 2025, a Tarlogic Security identificou uma vulnerabilidade no microcontrolador ESP32, amplamente utilizado para conectar dispositivos via Wi-Fi e Bluetooth. Essa vulnerabilidade foi registrada sob o número CVE-2025-27840 . Os atacantes podem acessar sem autorização os dados de carteiras Bitcoin usando o chip ESP32 como ponto de partida para ataques criptográficos em dispositivos que operam nas redes de criptomoedas populares como Bitcoin e Ethereum. Esse problema afeta milhões de dispositivos IoT que usam este microcontrolador. Explorar essa vulnerabilidade permitirá que os atacantes realizem ataques disfarçados de usuários legítimos e infectem permanentemente os dispositivos vulneráveis. Isso ameaça a segurança dos dispositivos IoT baseados no microcontrolador ESP32 e pode levar ao roubo de chaves privadas de carteiras Bitcoin.
ESP32 é um microcontrolador amplamente utilizado em dispositivos IoT para fornecer conectividade Wi-Fi e Bluetooth. Os atacantes podem usar vários métodos para obter acesso aos dados de chaves privadas de carteiras Bitcoin por meio do ESP32.
As ameaças de segurança relacionadas ao microcontrolador ESP32 podem levar ao roubo de chaves privadas de carteiras Bitcoin. Os principais problemas incluem a presença de backdoors e vulnerabilidades. Usando tais vulnerabilidades, eles podem manipular a memória, falsificar endereços MAC e injetar código malicioso, o que cria sérios riscos de segurança.
Os atacantes podem atacar dispositivos IoT com microcontrolador ESP32 usando vulnerabilidades nas conexões Bluetooth e Wi-Fi, que podem se tornar uma ferramenta para atacar outros dispositivos na rede relacionada ao Bitcoin, bem como roubar informações confidenciais, incluindo chaves privadas de carteiras Bitcoin.
Um atacante pode atualizar módulos e introduzir uma lista de várias vulnerabilidades no código, incluindo:
has_invalid_privkeyque pode ser usada para obter a chave privada.electrum_sig_hashpermite forjar assinaturas de transações Bitcoin.random_keyrelacionada a um gerador fraco de números pseudoaleatórios (PRNG não determinístico).multiplyonde não há verificação de um ponto na curva ECC.ecdsa_raw_sign e bin_ripemd160.Essas vulnerabilidades podem ser usadas para injetar atualizações falsas em dispositivos ESP32, dando aos atacantes acesso de baixo nível ao sistema. Isso permitirá que eles contornem os controles de auditoria de código e obtenham acesso às chaves privadas. Atualmente, bilhões de dispositivos podem estar vulneráveis devido a recursos ocultos de um único componente em sua arquitetura, designado como CVE-2025-27840.
has_invalid_privkeyEsta vulnerabilidade foi encontrada no código de verificação de chaves privadas do Bitcoin, permitindo que chaves inválidas (menores ou iguais a 0) sejam usadas devido à falta de verificação do limite inferior. Isso pode levar à perda de fundos. Para corrigir, é necessário adicionar uma verificação para garantir que a chave privada seja maior que 0. O código é fornecido para fins de demonstração.