Voltage Finance Rp. 57,4 M kena hack
Sumber : Rekt News

Voltage Finance telah dieksploitasi untuk ~$4 juta melalui mitra “Lending-as-a-Service” Ola Finance di Fuse Network.
Daripada garpu Compound, Ola menggambarkan dirinya sebagai “penyedia teknologi yang memungkinkan orang lain untuk membangun instans seperti Compound”.
Awal bulan ini, insiden serupa pada rantai Gnosis / xDAI memberi banyak peringatan kepada tim yang menggunakan kode Compound.
Tapi entah bagaimana, baik Voltage maupun Ola tidak mendapat kabar.
Andai saja ada tempat di mana para pengembang bisa tetap up to date dengan eksploitasi di DeFi…
Sama halnya dengan kasus Agave DAO dan Hundred Finance, eksploitasi ini disebabkan oleh kerentanan reentrancy dalam standar ERC 677 yang digunakan Fuse Network untuk token yang dijembatani.
Jenis token ini mencakup fungsi callAfterTransfer() yang dapat disalahgunakan untuk melakukan transfer tambahan sebelum saldo diperbarui (asalkan kode yang mendasarinya tidak mengikuti rutinitas eksekusi cek-efek-interaksi yang direkomendasikan).
Kode Senyawa asli tidak mengikuti pola ini, namun semua token jaminan yang diusulkan diperiksa untuk kerentanan ini sebelum ditambahkan ke protokol.
Kredit: BlockSecTeam
Alamat penyerang di Fuse: 0x371D7C9e4464576D45f11b27Cf88578983D63d75
Contoh tx (BUSD): 0x1b3e06b6b310886dfd90a5df8ddbaf515750eda7126cf5f69874e92761b1dc90
Kontrak penyerang A: 0x632942c9BeF1a1127353E1b99e817651e2390CFF
Kontrak penyerang B: 0x9E5b7da68e2aE8aB1835428E6E0c83a7153f6112
1: Kontrak A mentransfer 550 WETH ke Kontrak B
2: Deposit kontrak B 550 WETH, mencetak 27.284 oWETH
3: Kontrak B meminjam 507.216 BUSD
4: Kontrak BUSD memanggil kembali ke Kontrak B melalui callAfterTransfer()
5: Kontrak B mentransfer 507.216 BUSD dan 27.284 berutang ke Kontrak A.
6: Kontrak A mengembalikan 27.284 OWTH untuk menebus setoran awal 550 WETH dan mempertahankan 507.216 BUSD sebagai keuntungan.
Seperti yang dijelaskan BlockSecTeam:
“Dalam logika kode fungsi pinjam(), status internal terkait diperbarui setelah panggilan eksternal. Secara khusus, fungsi doTransferOut() akan memanggil fungsi transfer() dari token berbasis ERC677, yang pada akhirnya akan mengarah ke panggilan eksternal.”
Proses di atas digunakan berulang kali untuk mengambil $USDC, $FUSD, $WBTC, $WETH & $FUSE.
Dana yang dihasilkan pertama kali dijembatani ke Ethereum (awalnya didanai oleh Tornado Cash) dan kemudian dikirim ke alamat ini, di mana mereka tetap dalam bentuk ETH, WBTC, USDC (akankah Circle membekukan dana ini?) dan FUSE, bernilai sekitar $3.1M .
Ketika Agave and Hundred menjadi korban vektor serangan yang sama, kami berkata;
Ketika satu garpu jatuh, semua garpu lainnya harus memeriksa fondasinya.
Voltage Finance tidak melakukan itu, dan itulah mengapa mereka mengambil tempat (# 64) di papan peringkat.