CVE-2026-89991 in Linuxthông tin

Tóm tắt

Bởi VulDB • 17/09/2026

Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:

bpf: Sửa lỗi vòng lặp vô hạn trong hàm pcpu_freelist_push khi chỉ có một CPU khả dụng

__pcpu_freelist_push() có thể tạo ra vòng lặp vô hạn khi chỉ có một CPU khả dụng và một NMI (Non-Maskable Interrupt) tái nhập vào pcpu_freelist_push() trong khi ngữ cảnh bị ngắt đang giữ khóa freelist của CPU đó.

Sau khi đường dẫn nhanh dựa trên current-CPU thất bại, vòng lặp dự phòng sẽ duyệt qua cpu_possible_mask trong khi bỏ qua current-CPU. Với cấu hình CONFIG_SMP=n, hoặc khi kernel SMP bị giới hạn chỉ có một CPU khả dụng nhờ các tham số nr_cpus=1 hoặc possible_cpus=1, sẽ không còn CPU nào khác để kiểm tra. Do đó, vòng lặp này không thực hiện bất kỳ nỗ lực nào để lấy khóa và không thể tiến triển được.

Ngăn xếp (stack) sau đây đã được quan sát trên một hệ thống UP (Uniprocessor):

Ngữ cảnh NMI: pcpu_freelist_push free_htab_elem htab_map_delete_elem [chương trình BPF perf-event]
__perf_event_overflow perf_event_nmi_handler exc_nmi

Ngữ cảnh bị ngắt: __pcpu_freelist_push pcpu_freelist_push free_htab_elem htab_map_delete_elem [chương trình BPF raw_tp/sys_enter]
__bpf_trace_sys_enter do_syscall_64

raw_res_spin_lock() phát hiện việc lấy khóa đệ quy trên cùng một CPU và trả về -EDEADLK, nhưng vòng lặp dự phòng tiếp theo không có ứng viên head nào trên hệ thống chỉ có một CPU khả dụng.

Khôi phục lại head dự phòng bổ sung đã tồn tại trước khi chuyển đổi sang rqspinlock. Giữ nguyên đường dẫn nhanh current-CPU, sau đó thử các CPU khả dụng khác và cuối cùng là head bổ sung. Head bổ sung này cho phép thao tác push (vốn không thể thất bại nếu không làm mất phần tử đã phân bổ trước) tiến triển được ngay cả khi head per-CPU duy nhất đang bị ngữ cảnh bị ngắt giữ.

Ngoài ra, cũng cần kiểm tra head bổ sung từ đường dẫn pop để các node đặt tại đó có thể được tái sử dụng.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

chịu trách nhiệm

Linux

Đặt trước

11/09/2026

Tiết lộ

17/09/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you need the next level of professionalism?

Upgrade your account now!