CVE-2026-99159 in Linux
Tóm tắt
Bởi VulDB • 28/10/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
ring-buffer: Sửa lỗi chỉ số cơ sở của mảng sub-buffer trong rb_meta_subbuf_idx()
Trên bộ đệm vòng lặp (ring buffer) tồn tại lâu dài, hàm rb_meta_subbuf_idx() có thể trả về một chỉ số cao hơn một đơn vị so với mức đúng. Sau đó, rb_setup_ids_meta_page() điền vào mảng subbuf_ids[] bị lệch đi một đơn vị và để lại subbuf_ids[0] là NULL, điều mà __rb_map_vma() sẽ giải tham chiếu (dereference) khi không gian người dùng ánh xạ trace_pipe_raw. Hàm rb_update_meta_reader() ghi hai chỉ số như vậy vào meta->buffers[], những chỉ số này sẽ bị rb_cpu_meta_valid() từ chối trong lần khởi động tiếp theo, dẫn đến việc mất dữ liệu truy vết của phiên boot trước đó.
Mảng sub-buffer của một CPU bắt đầu sau phần tiêu đề meta (meta header) và các số nguyên nr_subbufs đi kèm, được căn chỉnh lên tới ranh giới của một sub-buffer. Hàm rb_meta_subbuf_idx() đảo ngược phép tính này nhưng chỉ bỏ qua các số nguyên mà không bỏ qua phần tiêu đề, do đó chỉ số cơ sở của nó bị thấp hơn một đơn vị so với mức đúng bất cứ khi nào kích thước phần tiêu đề bị loại bỏ vượt quá ranh giới căn chỉnh.
Hãy thực hiện việc đảo ngược phép tính bằng cách sử dụng rb_subbufs_from_meta() thay vì lặp lại phép tính đó. Hàm rb_range_buffer() ánh xạ một chỉ số trở lại địa chỉ thông qua cùng một hàm trợ giúp, do đó hai hướng chuyển đổi không còn có thể mâu thuẫn với nhau nữa.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.