Bitcoinjs-lib, một thư viện phần mềm để xây dựng các ứng dụng Bitcoin, đã sửa hai lỗ hổng có thể khiến các ứng dụng tính toán sai phí thợ mỏ đối với các giao dịch hợp lệ. Các tiết lộ bảo mật ngày 26 tháng Mười xác định các phiên bản đã được vá là 5.2.2, 6.1.9 và 7.0.4 cho các dòng phát hành tương ứng. Các ứng dụng có nguy cơ khi nhập các gói và phụ thuộc vào việc tính toán phí hoặc bảo vệ chống phí quá mức của thư viện mà không xác minh độc lập các đầu ra đang được chi tiêu.
Các lỗ hổng liên quan đến các giao dịch bitcoin được ký một phần (PSBTs). BIP 174 định nghĩa PSBTs là định dạng để trao đổi chi tiết giao dịch và chữ ký giữa các client. Việc ký, kết hợp chữ ký, hoàn tất đầu vào và trích xuất giao dịch vẫn là các thao tác riêng biệt, ngay cả trong một ứng dụng duy nhất. Một giao dịch bitcoin trả phí bằng giá trị đầu vào tổng cộng trừ đi giá trị đầu ra tổng cộng. Việc khai báo thấp giá trị đầu vào do đó làm cho phí được tính toán trông có vẻ thấp hơn.
Lỗi đầu tiên cho phép việc ký và tính toán phí gán các giá trị khác nhau cho cùng một đầu vào. Việc ký dựa trên giao dịch trước đầy đủ, trong khi tính toán phí lại ưu tiên một bản ghi mâu thuẫn có giá trị thấp hơn. Phần mềm dễ bị tổn thương do đó có thể cấp phép giao dịch thực tế trong khi đánh giá một mức phí không chính xác. Bản cảnh báo mô tả một ví dụ sử dụng bitcoinjs-lib 7.0.1 với mức phí thực tế là 900.000.000 satoshi và mức phí được báo cáo là 200 satoshi. Ví dụ này tạo ra chữ ký đã được xác minh và cho phép trích xuất mà không kích hoạt cảnh báo tỷ lệ phí mặc định.
Lời khuyên thứ hai mô tả các đầu vào đã được hoàn tất nhưng thiếu cả hồ sơ giá trị đầu vào. Máy tính phí xử lý các đầu vào này như có giá trị bằng không. Một ứng dụng có thể nhập một PSBT đã được ký từ bên thứ ba và đạt đến phép tính này mà không cần ký lại. Lời khuyên thứ hai trình bày một giao dịch giả định có phí thực tế là 91.000 satoshi và phí được báo cáo là 1.000 satoshi. Các kịch bản và chữ ký đã hoàn tất không tự chúng xác định được giá trị của một đầu vào khi hồ sơ giá trị của nó bị thiếu.
Lỗi bản ghi xung đột ảnh hưởng đến các phiên bản 5.2.0 đến 5.2.1, các phiên bản 6.0.0 đến 6.1.8 bao gồm cả 6.1.0-rc.0, và các phiên bản 7.0.0-rc.0 đến 7.0.3. Lỗi bản ghi bị thiếu ảnh hưởng đến các phiên bản 6 và 7 tương tự, cùng với các phiên bản 5.1.0 đến 5.2.1. Tổn thất tài chính yêu cầu một giao dịch được ủy quyền và hợp lệ được phát sóng lên mạng và được chấp nhận. Các lỗi không thể tạo chữ ký, và giá trị vượt mức sẽ được chuyển cho thợ mỏ dưới dạng phí.
Các bản sửa đổi giúp việc ký và kế toán sử dụng một phương pháp duy nhất để xử lý các đầu ra trước đó. Các bản sửa đổi từ chối các giá trị hoặc script xung đột và yêu cầu một giá trị cho mỗi đầu vào khi tính phí. Các bản sửa đổi cũng làm vô hiệu hóa các phí đã được lưu trong bộ nhớ đệm và các giao dịch đã trích xuất sau khi có thay đổi hoặc kết hợp liên quan đến metadata. Những người duy trì nên kiểm tra phiên bản phụ thuộc và xem xét việc xác thực các PSBT đã nhập. Những người duy trì không thể nâng cấp nên tự xác minh các giá trị đầu ra được tham chiếu. Những người duy trì nên từ chối các bản ghi xung đột trước khi ký hoặc dựa vào phí đã tính toán. Những người duy trì nên xác minh giá trị của từng đầu vào trước khi dựa vào phí hoặc trích xuất giao dịch.
Bitcoinjs-lib vá hai lỗ hổng có thể gây định giá phí thấp hơn thực tế
CryptoSlateChia sẻ
Tin tức nổi bật về bitcoin: Bitcoinjs-lib đã phát hành các bản vá cho hai lỗ hổng có thể dẫn đến việc ước tính phí thấp hơn trong các ứng dụng bitcoin. Các lỗ hổng này, liên quan đến PSBT, có thể gây ra tính toán phí sai lệch và tổn thất tài chính. Các bản cập nhật được khắc phục trong các phiên bản 5.2.2, 6.1.9 và 7.0.4, đảm bảo các phương pháp nhất quán để giải quyết đầu ra và tính toán phí. Các phương tiện truyền thông về bitcoin đang nhấn mạnh sự cấp thiết phải cập nhật các ứng dụng bị ảnh hưởng.
Nguồn:Hiển thị bản gốc
Tuyên bố miễn trừ trách nhiệm: Thông tin trên trang này có thể được lấy từ bên thứ ba và không nhất thiết phản ánh quan điểm hoặc ý kiến của KuCoin. Nội dung này chỉ được cung cấp cho mục đích thông tin chung, không có bất kỳ đại diện hay bảo đảm nào dưới bất kỳ hình thức nào và cũng không được hiểu là lời khuyên tài chính hay đầu tư. KuCoin sẽ không chịu trách nhiệm về bất kỳ sai sót hoặc thiếu sót nào hoặc về bất kỳ kết quả nào phát sinh từ việc sử dụng thông tin này.
Việc đầu tư vào tài sản kỹ thuật số có thể tiềm ẩn nhiều rủi ro. Vui lòng đánh giá cẩn thận rủi ro của sản phẩm và khả năng chấp nhận rủi ro của bạn dựa trên hoàn cảnh tài chính của chính bạn. Để biết thêm thông tin, vui lòng tham khảo Điều khoản sử dụng và Tiết lộ rủi ro của chúng tôi.