TL;DR:
- Bitcoin Core đã vá lặng lẽ CVE-2024-52911, lỗ hổng bảo mật bộ nhớ đầu tiên của nó, trước khi công bố công khai vào tuần này.
- Lỗ hổng này ảnh hưởng đến tất cả các phiên bản từ 0.14.0 đến 28.x và cho phép thợ mỏ gây sập nút mạng từ xa bằng các khối không hợp lệ.
- Khoảng 43% các nút mạng hoạt động vẫn đang chạy phần mềm trước phiên bản 29.0, khiến chúng bị phơi nhiễm.
Bitcoin Core đã vá bí mật lỗ hổng bảo mật bộ nhớ đầu tiên trong lịch sử dự án, vài tháng trước khi công bố công khai. Lỗ hổng này, được ghi nhận là CVE-2024-52911 và được phân loại là mức độ nghiêm trọng cao, ảnh hưởng đến tất cả các phiên bản phần mềm từ 0.14.0 đến 28.x, tạo ra khả năng một thợ mỏ độc hại có thể gây sập từ xa các nút mạng bên thứ ba thông qua các khối không hợp lệ được tạo đặc biệt.
Lỗi này tương ứng với lỗ hổng *use-after-free* trong động cơ xác thực script. Trong quá trình xác thực khối, dữ liệu đã được tính trước và lưu trong bộ nhớ đệm có thể bị xóa trong khi một luồng xác thực nền vẫn đang đọc nó. Với cơ chế nền tảng, việc khai thác không chỉ cho phép tắt nút mạng đột ngột, mà còn để ngỏ — dù ít có khả năng — khả năng thực thi mã từ xa trong trạng thái bộ nhớ bất thường xảy ra sau đó.

Bitcoin Core: Một bản vá lặng lẽ bảo vệ mạng lưới
Cory Fields, một nhà nghiên cứu tại Sáng kiến Tiền kỹ thuật số MIT, đã phát hiện ra lỗ hổng và riêng tư báo cáo vào ngày 2 tháng 11 năm 2024. Bốn ngày sau, nhà phát triển Bitcoin Core Pieter Wuille đã triển khai một bản vá ẩn danh, cố ý đặt tên là “Cải thiện ghi nhật ký gỡ lỗi lỗi xác thực kịch bản song song” để tránh cảnh báo những kẻ tấn công tiềm năng. Bản vá này đã được tích hợp vào kho lưu trữ vào tháng 12 năm 2024 và được phân phối cùng với Bitcoin Core v29.0 vào tháng 4 năm 2025.
Việc công bố công khai chỉ diễn ra sau khi dòng phiên bản 28.x hết hạn hỗ trợ vào ngày 19 tháng 4 năm 2026. Nhà phát triển Niklas Gögge cho biết đây là vấn đề bảo mật bộ nhớ đầu tiên được ghi nhận trong khoảng hai năm lịch sử tư vấn bảo mật công khai của dự án, và ghi nhận việc công bố có trách nhiệm của Fields.

Tại sao lại không có lỗ hổng?
Yếu tố răn đe được tích hợp vào vectơ tấn công cũng đáng được chú ý: bất kỳ thợ khai thác nào cố gắng khai thác nó đều cần phải tiêu tốn sức mạnh băm thực tế để tạo các khối không hợp lệ mà không có bất kỳ phần thưởng nào — một tổn thất chắc chắn có thể giải thích tại sao lỗ hổng này vẫn nằm im trong thực tế.
Các quy tắc đồng thuận của bitcoin không bị ảnh hưởng ở bất kỳ thời điểm nào, vì lỗi chỉ giới hạn trong cách xử lý bộ nhớ của phần mềm nút mạng. Tuy nhiên, dựa trên ước tính từ bảng điều khiển của Clark Moody, khoảng 43% các nút mạng đang hoạt động vẫn đang chạy các phiên bản trước v29.0 và sẽ tiếp tục bị phơi nhiễm.

