Agregator dexible diretas seharga $2M melalui fungsi 'selfSwap'

Agregator pertukaran multichain Dexible telah terkena eksploitasi, dan sebagai akibatnya, cryptocurrency senilai $2 juta telah hilang, menurut laporan post-mortem 17 Februari yang dirilis oleh tim di server Discord resmi proyek.

Pada pukul 6:35 UTC pada 17 Februari, ujung depan Dexible menampilkan peringatan sembulan tentang peretasan setiap kali pengguna menavigasi ke sana.

Pada pukul 6:17 UTC, tim melaporkan bahwa mereka telah menemukan "potensi peretasan pada kontrak Dexible v2" dan sedang menyelidiki masalah tersebut. Kira-kira sembilan jam kemudian, ia merilis pernyataan kedua yang sekarang diketahui “$2,047,635.17 telah dieksploitasi dari 17 alamat pedagang. 4 di mainnet, 13 di arbitrum.”

Laporan post-mortem dikeluarkan pada pukul 4:00 UTC sebagai file PDF dan dirilis di Discord, dan tim tersebut mengatakan bahwa mereka "secara aktif mengerjakan rencana perbaikan".

Dalam laporan tersebut, tim menyatakan bahwa mereka telah melihat ada yang salah ketika salah satu pendirinya mengeluarkan crypto senilai $50,000 dari dompetnya karena alasan yang tidak diketahui pada saat itu. Setelah menyelidiki, tim menemukan bahwa penyerang telah menggunakan fungsi selfSwap aplikasi untuk memindahkan crypto senilai lebih dari $2 juta dari pengguna yang sebelumnya telah mengotorisasi aplikasi untuk memindahkan token mereka.

Fungsi selfSwap memungkinkan pengguna untuk memberikan alamat router dan calldata yang terkait dengannya untuk menukar satu token dengan yang lain. Namun, tidak ada daftar router yang disetujui sebelumnya yang ditulis ke dalam kode. Jadi, penyerang menggunakan fungsi ini untuk merutekan transaksi dari Dexible ke setiap kontrak token, memindahkan token pengguna dari dompet mereka ke smart contract penyerang itu sendiri. Karena transaksi jahat ini berasal dari Dexible, yang telah diizinkan oleh pengguna untuk membelanjakan token mereka, kontrak token tidak memblokir transaksi tersebut.

Terkait: Influencer NFT menjadi korban serangan siber, kehilangan $300K+ CryptoPunks

Setelah menerima token ke dalam smart contract mereka sendiri, penyerang menarik koin tersebut melalui Tornado Cash ke dalam BNB yang tidak diketahui (BNB) dompet.

Dexible telah menghentikan kontraknya dan mendesak pengguna untuk mencabut otorisasi token untuk mereka.

Praktik umum untuk mengesahkan persetujuan token untuk jumlah besar kadang-kadang menyebabkan kerugian bagi pengguna crypto karena kontrak yang bermasalah atau berbahaya, membuat beberapa ahli memperingatkan pengguna untuk mencabut persetujuan secara berkala. Ujung depan untuk sebagian besar aplikasi Web3 tidak secara langsung mengizinkan pengguna untuk mengedit jumlah token yang disetujui, sehingga pengguna sering kehilangan saldo penuh token mereka jika aplikasi ternyata memiliki kelemahan keamanan. MetaMask dan dompet lain telah mencoba memperbaiki masalah ini dengan mengizinkan pengguna mengedit persetujuan token pada langkah konfirmasi dompet, tetapi banyak pengguna crypto masih tidak menyadari risiko tidak menggunakan fitur ini.