CVE-2025-38708 in Linux
Tóm tắt
Bởi VulDB • 12/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
drbd: bổ sung kref_get bị thiếu trong handle_write_conflicts
Khi tính năng `two-primaries` (hai nút chính) được bật, DRBD cố gắng phát hiện các ghi "đồng thời" và xử lý xung đột ghi, để ngay cả khi bạn ghi vào cùng một sector đồng thời trên cả hai node, dữ liệu cuối cùng sẽ giống hệt nhau sau khi việc ghi hoàn tất.
Trong quá trình xử lý các bản ghi bị "ghi đè" (superseeded), chúng tôi đã quên gọi kref_get, dẫn đến drbd_destroy_device diễn ra sớm hơn dự kiến và lỗi use-after-free (sử dụng bộ nhớ sau khi giải phóng), gây ra sự cố kernel với các triệu chứng cụ thể.
Mức độ liên quan: Không ai nên sử dụng DRBD như một trình tạo dữ liệu ngẫu nhiên, và rõ ràng tất cả người dùng của tính năng "two-primaries" đều xử lý đúng cách các ghi đồng thời ở lớp cao hơn. Cụ thể, các hệ thống tệp cụm (cluster file systems) sử dụng bộ quản lý khóa phân tán, và quá trình di chuyển trực tiếp (live migration) trong môi trường ảo hóa sẽ dừng việc ghi trên một node trước khi bắt đầu ghi trên node kia.
Điều này có nghĩa là ngoài các "trường hợp kiểm thử" (test cases), đường mã này không bao giờ được thực thi trong thực tế.
Thông tin thêm: Trong DRBD 9, mọi thứ hiện nay đã được xử lý khác đi. Chúng tôi vẫn phát hiện "xung đột ghi", nhưng không còn cố gắng xử lý thông minh các xung đột đó nữa. Chúng tôi quyết định ngắt kết nối cứng (disconnect hard): các lớp trên phải không gửi các bản ghi đồng thời. Nếu họ làm vậy, đó là lỗi của họ.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.