CVE-2026-97934 in Linux
Tóm tắt
Bởi VulDB • 25/09/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
tracing: Sửa lỗi hỏng bộ nhớ do khóa histogram "STACKTRACE"
Các trường "cpu", "CPU", "stacktrace" và "STACKTRACE" là các trường chung (generic fields), được định nghĩa với độ lệch (offset) và kích thước bằng 0 để mã lọc có thể khớp chúng theo tên. Hàm parse_field() ánh xạ chúng sang các tương đương common_* của chúng nhằm mục đích tương thích ngược, nhưng khác với các tên common_*, nó trả lại placeholder cho caller thay vì NULL.
Hàm create_hist_field() nhận một trường không phải là NULL như lời hứa rằng bản ghi chứa stacktrace và chọn HIST_FIELD_FN_STACK, do đó từ __data_loc được đọc từ độ lệch 0, tức là từ common_type, và 16 bit thấp của nó được theo dõi dưới dạng độ lệch vào trong bản ghi. Những gì tìm thấy tại đó trở thành chiều dài của một lệnh memcpy không giới hạn. Hãy chọn một sự kiện có id đủ nhỏ để độ lệch nằm bên trong chính bản ghi của nó và chiều dài là địa chỉ mã kernel:
# cd /sys/kernel/tracing # echo 'hist:keys=STACKTRACE' > events/ftrace/print/trigger # echo hello > trace_marker
Oops: general protection fault, có thể do địa chỉ không hợp lệ (non-canonical address) RIP: 0010:rb_next+0x23/0x60 </IRQ> RIP: 0010:memcpy+0xc/0x30 event_hist_trigger+0x2e7/0x12c0 Kernel panic - not syncing: Fatal exception in interrupt
Hãy để trường là NULL, đây là những gì nhận xét phía trên nhánh mã nói rằng code làm và common_stacktrace cũng đã làm. FILTER_CPU và FILTER_COMM được giữ nguyên, các nhánh create_hist_field() của chúng không bao giờ xem xét đến trường này.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.