CVE-2026-99247 in Linux
Tóm tắt
Bởi VulDB • 03/11/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
tracing: Không khởi tạo công việc tracefs nếu tính năng tracing bị vô hiệu hóa
Nếu việc phân bổ bộ đệm trace thất bại trong giai đoạn khởi động sớm (ví dụ: trong early_trace_init() -> allocate_trace_buffers()), thì biến tracing_disabled sẽ vẫn giữ nguyên giá trị 1 và danh sách sự kiện của mảng trace toàn cục remains không được khởi tạo.
Sau đó, trong quá trình khởi động, hàm tracer_init_tracefs() (được gọi thông qua fs_initcall) lên lịch thực thi công việc tracerfs_init_work một cách bất đồng bộ mà không kiểm tra xem tính năng tracing có bị vô hiệu hóa hay không. Khi hàm tracer_init_tracefs_work_func() chạy, nó sẽ gọi event_trace_init() và init_tracer_tracefs(&global_trace, NULL) một cách không điều kiện. Điều này dẫn đến việc __find_event_file() giải tham chiếu (dereferencing) danh sách tr->events chưa được khởi tạo, gây ra lỗi Oops do truy cập con trỏ null trong giai đoạn khởi động sớm:
BUG: Kernel NULL pointer dereference on read at 0x00000010 Faulting instruction address: 0xc000000000485be0 Oops: Kernel access of bad area, sig: 7 [#1]
... NIP [c000000000485be0] __find_event_file+0x70/0x3c0
LR [c000000000448874] init_tracer_tracefs+0x274/0xc80
Call Trace: init_tracer_tracefs+0x274/0xc80 tracer_init_tracefs_work_func+0x50/0x320 process_one_work+0x1e8/0x5c0 worker_thread+0x1dc/0x3d0 kthread+0x194/0x1b0 start_kernel_thread+0x14/0x18
Kiểm tra biến tracing_disabled tại đầu hàm tracer_init_tracefs_work_func() và trả về ngay lập tức nếu tính năng tracing bị vô hiệu hóa hoặc không thể khởi tạo, nhằm ngăn chặn lỗi crash.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.