Bitcoin Core đã công bố ba lỗ hổng vào ngày 28 tháng 10 và phát hành bản sửa lỗi trong các phiên bản 29.5, 30.4, 31.2 và 32.1, bao gồm một lỗ hổng cho phép một peer độc hại làm sập các nút mạng trên Windows, macOS và BSD.
Phần mềm Bitcoin Core cho phép người vận hành xác minh độc lập blockchain bitcoin và bao gồm một ví. Dự án xếp hai lỗ hổng tăng bộ nhớ ở mức độ nghiêm trọng trung bình và một lỗ hổng khác liên quan đến dữ liệu blockchain được lưu trữ ở mức độ nghiêm trọng thấp. Ba cảnh báo này không nêu rõ liệu việc khai thác đã được quan sát hay chưa.
Đối với các nhà vận hành trên các nhánh 29.x, 30.x và 31.x, các phiên bản điểm đã được vá lần lượt là 29.5, 30.4 và 31.2. Phiên bản 32.1 là phiên bản mới nhất. Các nhà vận hành đang sử dụng các phiên bản điểm cũ hơn trong các nhánh này nên nâng cấp.
Lỗ hổng sập không phải Linux cho phép kẻ tấn công đã kết nối gửi lưu lượng mạng được đánh dấu đặc biệt, được gọi là dữ liệu khẩn cấp TCP, để vượt qua giới hạn về lượng dữ liệu đầu vào mà một nút mạng xếp hàng để xử lý. Hàng đợi sau đó có thể tăng không giới hạn cho đến khi nút mạng hết bộ nhớ. Linux không bị ảnh hưởng bởi lỗ hổng cụ thể này vì nó sử dụng cơ chế khác để giám sát các kết nối mạng.
lỗi tăng bộ nhớ thứ hai cho phép một nút mạng độc hại giả vờ sử dụng giao thức cũ không có tin nhắn ping hiện đại, tránh được thời gian chờ sẽ ngắt kết nối nó bình thường. Bằng cách trì hoãn việc đọc, nút mạng có thể khiến nút tiếp tục xếp hàng các thông báo. Việc sử dụng bộ nhớ có thể tăng lên tới 2 MB mỗi giờ cho mỗi nút kết nối vào hoặc 5 MB mỗi giờ cho mỗi nút kết nối ra. Các nút được cấu hình chỉ truyền các khối sẽ bị ảnh hưởng ít hơn nhiều.
Vẫn còn rủi ro lưu trữ riêng biệt
lỗ hổng thứ ba liên quan đến các tệp “undo”, lưu trữ thông tin cần thiết để hoàn tác các khối trong quá trình tái tổ chức blockchain. Một thợ mỏ có thể ép các tệp này vượt quá giới hạn kích thước, làm hỏng dữ liệu hoặc làm tắt các nút mạng bị ảnh hưởng. Bitcoin Core cho rằng việc khai thác lỗ hổng này là không thực tế: trên các hệ thống 64-bit, việc chuẩn bị sẽ yêu cầu khai thác hàng ngàn khối được xây dựng đặc biệt, kèm theo các điều kiện chính xác bổ sung để thực hiện cuộc tấn công dựa trên tái tổ chức.
Các bản sửa lỗi này khắc phục lỗi đó trên các hệ thống 64-bit, bao gồm Windows, nhưng các hệ thống 32-bit và các nút mạng lưu trữ khối trên hệ thống tệp FAT32 vẫn bị ảnh hưởng. Nếu dữ liệu undo đã bị hỏng, việc khởi động lại là không đủ; quá trình phục hồi yêu cầu xây dựng lại chỉ số blockchain bằng phiên bản đã được sửa.
Các cảnh báo ghi nhận việc quét tự động bởi Dự án Loupe của Spiral đã phát hiện ra cả ba vấn đề, với Gregory Sanders xác minh các phát hiện này và báo cáo cho Bitcoin Core. Dự án phân loại cả ba vấn đề là “dễ dàng phát hiện”. Chính sách tiết lộ của nó yêu cầu công bố các bản sửa lỗi trên tất cả các nhánh được duy trì và một cảnh báo mà không áp dụng thời gian cấm công bố thông thường cho danh mục này.
Để nâng cấp, các nhà vận hành nên tắt hoàn toàn Bitcoin Core trước khi cài đặt hoặc thay thế phần mềm, theo hướng dẫn phát hành. Các ghi chú này cũng cho biết các phiên bản 29.x và cũ hơn đã hết thời hạn hỗ trợ và sẽ không còn nhận cập nhật.


