Back to Blog

Uma Breve Análise da Exploração Selvagem do CVE-2021–39137

Code Auditing
28 de agosto de 2021
3 min read

CVE-2021-39137 é uma vulnerabilidade que foi reportada e corrigida há alguns dias. No entanto, nem todos os nós Ethereum aplicaram o patch. Observamos que essa vulnerabilidade foi explorada por uma transação maliciosa.

Transação de Ataque

https://tx.blocksecteam.com/tx/0x1cb6fb36633d270edefc04d048145b4298e67b8aa82a9e5ec4aa1435dd770ce4

Esta transação possui uma STATICCALL com o endereço 0x4. Este é um contrato inteligente pré-compilado dataCopy. O argumento é o seguinte.

inOffset = 0, inSize = 32, retOffset = 7 e retSize = 32.

O contrato inteligente 0x4

Figura 1

Como o alvo da STATICCALL é o contrato pré-compilado 0x4, ele executará a função RunPrecompiledContract mostrada na Figura 1.

Figura 2

Figura 3

De acordo com as Figuras 2/3, o contrato inteligente 0x4 simplesmente retorna a referência do ponteiro in.

Figura 4

Figura 5

A Figura 4 é o código para o opcode STATICCALL. Na linha 751, args aponta para [inOffset ~ inOffset + inSize] da memória da EVM, que é Mem[0:32].

De acordo com a Figura 5 e a análise da lógica do código do 0x04 (Figuras 2/3), o valor de retorno (ret) é uma referência para a mesma memória que args. Ou seja, ele também aponta para Mem[0:32].

Vulnerabilidade

No código vulnerável (versão 1.10.7), a linha 762 copia o conteúdo de ret para Mem[retOffset : retOffset + retOffset], isto é, copia Mem[0:32] para Mem[7:7+32]. Esta operação modifica acidentalmente o conteúdo de ret. Isso significa que o valor de retorno do contrato pré-compilado 0x4 foi alterado.

Na versão corrigida (1.10.8), é feita uma cópia de ret (linha 766). Isso corrige a vulnerabilidade, pois a cópia na linha 767 não pode modificar o conteúdo de ret.

A vulnerabilidade CVE-2021–39137 foi explorada por uma transação maliciosa devido aos nós não atualizarem seus patches a tempo. Essa falha envolvia um defeito nas operações de memória da Máquina Virtual Ethereum, mas foi corrigida na versão 1.10.8. Para garantir a segurança do sistema, recomenda-se que todos os nós Ethereum atualizem imediatamente para a versão mais recente.

Créditos

O ataque foi analisado por Siwei Wu, Yufeng Hu, Lei Wu, Yajin Zhou@BlockSec

Sign up for the latest updates
Perdas de ~5,57 milhões USD: exploração de falhas no X100 Freezer e no NEM | Boletim semanal da BlockSec
Security Insights

Perdas de ~5,57 milhões USD: exploração de falhas no X100 Freezer e no NEM | Boletim semanal da BlockSec

Este relatório semanal aborda dois incidentes de segurança na Ethereum e na BNB Chain no período de 19/10/2026–25/10/2026. Ele examina uma tomada de controle da governança do X100 Freezer financiada por um empréstimo-relâmpago e uma falha na liquidação de impostos que afetou um pool de liquidez de um token NEM na BNB Chain. As perdas estimadas no escopo do relatório totalizam aproximadamente 5,57 milhões USD: cerca de 4,75 milhões USD da transação representativa do X100 e cerca de 820 mil USD do incidente no pool do NEM. O total exclui as extrações subsequentes do X100 relatadas separadamente.

Perdas de ~3,87 milhões USD: ataques à Autheo Network e à UNCX | Resumo semanal da BlockSec
Security Insights

Perdas de ~3,87 milhões USD: ataques à Autheo Network e à UNCX | Resumo semanal da BlockSec

Este relatório semanal aborda 3 incidentes de segurança no período de 12/10/2026–18/10/2026, com perdas totais estimadas em aproximadamente 3,87 milhões USD. A Autheo Network sofreu um comprometimento de chave privada com perdas de cerca de 1,76 milhões USD, a Qubic Wallet perdeu cerca de 1,30 milhões USD devido à geração de seeds fracas, e os contratos Smart Token Vesting V2 da UNCX Network sofreram um erro contábil de cerca de 807 mil USD nas redes Ethereum, BNB Chain, Base e Robinhood Chain. A análise em destaque da UNCX explica como um cálculo incorreto do total de cotas misturou parcelas de vesting criadas com diferentes proporções entre tokens e cotas, permitindo saques acima do devido de pools compartilhados.

~US$ 542 mil perdidos: ataque ao MakerDaoBot | Boletim semanal da BlockSec
Security Insights

~US$ 542 mil perdidos: ataque ao MakerDaoBot | Boletim semanal da BlockSec

O relatório cobre 1 incidente no Ethereum (05–11/10/2026), com perda estimada de US$ 542 mil. Um adaptador malicioso obteve acesso aos saldos MakerDAO via função desprotegida do MakerDaoBot, liquidou 4 leilões ETH-A e converteu 200 ETH-A em WETH, depois enviados como ETH ao atacante.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit