Dompet Bitcoin Electrum Tambal Kerentanan Kritis yang Mengalihkan Dana ke Penyerang
CoinDesk melaporkan: Dompet Bitcoin Electrum merilis versi 4.8.3 pada 24 Oktober untuk menambal kerentanan kritis. Celah ini memungkinkan server jahat menyuntikkan transaksi palsu sehingga pengguna tertipu dan mengirim dana ke alamat milik penyerang. Setidaknya satu pengguna mengonfirmasi kehilangan dana pada 18 Oktober setelah membayar biaya tambahan atas transaksi yang telah diubah server.
Perbaikan tersebut memverifikasi tanda tangan input milik dompet sendiri sebelum menampilkan transaksi yang belum dikonfirmasi. Transaksi masuk dari pengirim eksternal tetap tidak diverifikasi. Seluruh versi sebelum 4.8.3 terdampak; versi terbaru kini tersedia untuk diunduh. Electrum merupakan salah satu dompet perangkat lunak Bitcoin paling awal.
Serangan ini memanfaatkan model kepercayaan dompet terhadap transaksi yang belum dikonfirmasi. Ketika pengguna menyiarkan pembayaran melalui server yang sudah disusupi, server dapat memblokir transaksi sah dan menyuntikkan transaksi tandingan palsu — menampilkan alamat output penyerang dengan biaya nol — agar pembayaran tampak macet. Electrum tidak memverifikasi tanda tangan transaksi belum terkonfirmasi yang diterima dari server, sehingga transaksi palsu itu tercatat di riwayat dompet sebagai transaksi sah. Begitu pengguna menaikkan biaya (fee bump) pada pembayaran yang tampak macet tersebut, ia menandatangani dan menyiarkan transaksi baru yang valid dengan alamat output milik penyerang. Pembayaran awal tidak pernah terkirim; transaksi hasil fee bump itulah yang pertama masuk ke jaringan — dan dananya masuk ke kantong penyerang.
Pengumuman pengembang Electrum, SomberNight, menyebutkan penyerang dapat mengubah alamat output transaksi palsu agar empat karakter terakhirnya sama dengan alamat yang dituju pengguna. Siapa pun yang hanya memeriksa bagian akhir alamat Bitcoin yang panjang akan melihatnya seolah cocok. Pengumuman itu menyatakan “sejumlah server secara aktif menjalankan serangan ini”, klaim yang didukung dua laporan pengguna.
Pengguna bernama dannydeezy pertama kali menandai perilaku server yang mencurigakan pada 11 Oktober; tidak ada dana yang hilang karena transaksi yang diubah tidak menyebar di luar server lokal. Pengguna kedua, RajuK12, melaporkan kerugian terkonfirmasi pada 18 Oktober setelah membayar biaya tambahan untuk membetulkan transaksi yang telah diubah.
Tambalan di versi 4.8.3 menutup jalur serangan utama dengan memverifikasi tanda tangan kriptografis pada input milik dompet sebelum transaksi belum terkonfirmasi ditambahkan ke riwayat lokal. Server tidak lagi bisa menyuntikkan transaksi palsu yang melibatkan alamat pengguna tanpa menyertakan tanda tangan valid, yang tidak dapat dipalsukan penyerang. Perbaikan ini ditandai di repositori kode pada 23 Oktober, dan biner dirilis sehari setelahnya.
Transaksi masuk dari pengirim eksternal — yang tidak memiliki input milik dompet pengguna — masih diterima tanpa verifikasi tanda tangan. SomberNight mengakui celah ini dalam pengumumannya dan menyatakan masih diperlukan kerja lanjutan untuk menutupnya.
Ini bukan pertama kali Electrum menghadapi insiden serupa. Pada 2018, serangan jahat memakai server palsu untuk menyebarkan notifikasi pembaruan palsu; pada 2020, serangan semacam itu diperkirakan telah mencuri US$25 juta dari pengguna Electrum. Model open server Electrum — siapa pun dapat menjalankan node — membuka peluang serangan tersebut. Pengguna yang hanya terhubung ke servernya sendiri tidak terdampak.
Pengguna yang belum bisa memperbarui segera sebaiknya memverifikasi alamat output dan jumlah secara manual sebelum menandatangani transaksi apa pun. Electrum 4.8.3 tersedia di electrum.org dan di GitHub proyek tersebut.