Bitcoinjs-lib, sebuah perpustakaan perangkat lunak untuk membangun aplikasi Bitcoin, telah memperbaiki dua bug yang dapat menyebabkan aplikasi meremehkan biaya penambang pada transaksi yang valid. Pengungkapan keamanan tanggal 26 Oktober mengidentifikasi versi yang diperbaiki 5.2.2, 6.1.9, dan 7.0.4 untuk masing-masing jalur rilis. Aplikasi berisiko ketika mengimpor paket tersebut dan mengandalkan perhitungan biaya atau perlindungan biaya berlebihan dari perpustakaan tanpa memverifikasi secara independen output yang dibelanjakan.
Kekurangan tersebut melibatkan transaksi bitcoin yang ditandatangani sebagian (PSBT). BIP 174 mendefinisikan PSBT sebagai format untuk bertukar detail transaksi dan tanda tangan antar klien. Penandatanganan, penggabungan tanda tangan, finalisasi input, dan ekstraksi transaksi tetap merupakan operasi yang terpisah, bahkan dalam satu aplikasi tunggal. Sebuah transaksi bitcoin membayar biaya yang sama dengan nilai total input dikurangi nilai total output. Mengecilkan nilai input oleh karena itu membuat biaya yang dihitung tampak lebih rendah.
Kelemahan pertama memungkinkan penandatanganan dan akuntansi biaya untuk menetapkan nilai berbeda pada input yang sama. Penandatanganan bergantung pada transaksi sebelumnya yang lengkap, sementara akuntansi biaya lebih memilih catatan yang bertentangan dengan nilai lebih rendah. Perangkat lunak yang rentan akibatnya dapat mengotorisasi transaksi aktual sambil menilai biaya yang salah. Saran tersebut menggambarkan demonstrasi bitcoinjs-lib 7.0.1 dengan biaya aktual 900.000.000 satoshi dan biaya yang dilaporkan 200 satoshi. Demonstrasi tersebut menghasilkan tanda tangan yang diverifikasi dan memungkinkan ekstraksi tanpa memicu peringatan tarif biaya default.
Peringatan kedua menggambarkan input yang telah difinalisasi tetapi tidak memiliki catatan nilai input. Kalkulator biaya memperlakukan input-input tersebut sebagai memiliki nilai nol. Sebuah aplikasi dapat mengimpor PSBT yang sudah ditandatangani dari pihak lain dan mencapai perhitungan tersebut tanpa menandatangani ulang. Peringatan kedua menyajikan transaksi hipotetis dengan biaya aktual 91.000 satoshi dan biaya yang dilaporkan 1.000 satoshi. Skrip dan tanda tangan yang telah difinalisasi sendiri tidak menetapkan nilai input yang catatan nilainya tidak ada.
Kerentanan conflicting-record memengaruhi versi 5.2.0 hingga 5.2.1, versi 6.0.0 hingga 6.1.8 termasuk 6.1.0-rc.0, dan versi 7.0.0-rc.0 hingga 7.0.3. Kerentanan missing-record memengaruhi rilis versi 6 dan versi 7 yang sama, ditambah versi 5.1.0 hingga 5.2.1. Kerugian finansial memerlukan transaksi yang sah dan diotorisasi untuk disiarkan ke jaringan dan diterima. Bug-bug tersebut tidak dapat menghasilkan tanda tangan, dan nilai berlebih akan diberikan kepada penambang sebagai biaya.
Perbaikan tersebut membuat proses penandatanganan dan akuntansi menggunakan satu metode untuk menyelesaikan output sebelumnya. Perbaikan tersebut menolak nilai atau skrip yang bertentangan dan memerlukan nilai untuk setiap input saat menghitung biaya. Perbaikan tersebut juga membuat biaya yang di-cache dan transaksi yang diekstrak menjadi tidak valid setelah perubahan atau kombinasi metadata terkait. Penjaga harus memeriksa versi dependensi dan meninjau validasi PSBT yang diimpor. Penjaga yang tidak dapat memperbarui harus secara mandiri mengonfirmasi nilai output yang dirujuk. Penjaga harus menolak catatan yang bertentangan sebelum menandatangani atau mengandalkan biaya yang dihitung. Penjaga harus memverifikasi nilai setiap input sebelum mengandalkan biaya atau mengekstrak transaksi.
Bitcoinjs-lib Memperbaiki 2 Bug yang Dapat Menyebabkan Underestimasi Biaya
CryptoSlateBagikan
Berita terbaru bitcoin: Bitcoinjs-lib telah merilis patch untuk dua bug yang dapat menyebabkan underestimasi biaya pada aplikasi bitcoin. Kekurangan tersebut, terkait dengan PSBT, dapat menyebabkan perhitungan biaya yang salah dan kerugian finansial. Diperbaiki pada versi 5.2.2, 6.1.9, dan 7.0.4, pembaruan ini memastikan metode yang konsisten untuk menyelesaikan output dan menghitung biaya. Media berita bitcoin menyoroti urgensi memperbarui aplikasi yang terdampak.
Sumber:Tampilkan versi asli
Penafian: Informasi pada halaman ini mungkin telah diperoleh dari pihak ketiga dan tidak mencerminkan pandangan atau opini KuCoin. Konten ini disediakan hanya untuk tujuan informasi umum, tanpa representasi atau jaminan apa pun, dan tidak dapat ditafsirkan sebagai saran keuangan atau investasi. KuCoin tidak bertanggung jawab terhadap segala kesalahan atau kelalaian, atau hasil apa pun yang keluar dari penggunaan informasi ini.
Berinvestasi di aset digital dapat berisiko. Harap mengevaluasi risiko produk dan toleransi risiko Anda secara cermat berdasarkan situasi keuangan Anda sendiri. Untuk informasi lebih lanjut, silakan lihat Ketentuan Penggunaan dan Pengungkapan Risiko.