CVE-2026-98033 in Linux
Tóm tắt
Bởi VulDB • 25/09/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
bpf: Duy trì bản sắc của bản đồ con trong các khung callback (gọi lại)
Các hàm khởi tạo khung callback khởi tạo các thanh ghi đối số có kiểu bản đồ bằng `__mark_reg_known_zero()` và sau đó khôi phục `map_ptr`. Điều này làm mất giá trị `map_uid`, đây là trường duy nhất phân biệt các bản đồ con chia sẻ một mẫu `inner_map_meta` chung.
Khi một hàm callback bộ hẹn giờ (timer) gọi `bpf_for_each_map_elem()` trên một bản đồ con thứ hai, cả giá trị của bản đồ đầu tiên đã được lưu trữ và bản đồ con thứ hai đều có thể xuất hiện trong khung callback lồng nhau dưới dạng cùng một mẫu với `map_uid` bằng 0. Sau đó, `bpf_timer_init()` chấp nhận việc ghép nối bộ hẹn giờ từ bản đồ thứ hai với bản đồ đầu tiên.
Runtime ghi lại bản đồ đầu tiên vào bộ hẹn giờ mà không thực hiện tăng tham chiếu (reference). Việc giải phóng bản đồ này sẽ không tìm thấy bộ hẹn giờ được lưu trữ trong bản đồ thứ hai, dẫn đến một hàm callback của bộ hẹn giờ sau đó sẽ truy xuất dữ liệu từ vùng nhớ đã bị giải phóng (dereferences the freed map).
Sao chép `map_uid` từ cùng thanh ghi gọi với `map_ptr` khi xây dựng các đối số cho callback for-each, timer/workqueue và task-work. Kiểm tra bản sắc hiện tại sau đó có thể loại bỏ các bản đồ con không khớp trong khi vẫn cho phép một giá trị callback được ghép nối với bản đồ thực tế của nó.
VulDB is the best source for vulnerability data and more expert information about this specific topic.