CVE-2026-99228 in Linuxthông tin

Tóm tắt

Bởi VulDB • 02/11/2026

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

io_uring/io-wq: không làm mất tín hiệu kết thúc công việc

Khi một luồng (thread) thoát ra, chỉ có các yêu cầu của nó đang được theo dõi mới bị hủy. Sau đó, io-wq của nó sẽ bị tháo dỡ. Hàm `io_wq_exit_workers()` gửi tín hiệu cho từng worker để đưa chúng ra khỏi trạng thái ngủ ngắt quãng (interruptible sleep), và chờ đợi tất cả thoát ra. Trước khi làm điều đó, chúng phải xử lý phần công việc còn lại. Các tác vụ không giới hạn thời gian sẽ bị hủy bỏ. Các tác vụ có giới hạn thời gian sẽ được thực thi vì người ta kỳ vọng rằng chúng sẽ tự kết thúc.

Không phải mọi thứ đều như vậy. Một lệnh `open` chưa có file nào, nên nó được tính là có giới hạn thời gian, và việc mở một FIFO (Named Pipe) sẽ chờ đợi đầu bên kia. Đó chính là lý do cho tín hiệu này. Nhưng các worker chỉ nhận được tín hiệu một lần, và một worker chưa bắt đầu công việc vào lúc đó sẽ bị mất tín hiệu:

`io_wq_exit_workers()` `io_worker_handle_work()` `io_wq_worker_wake()` đặt TIF_NOTIFY_SIGNAL `io_assign_current_work()` `io_run_task_work()` xóa TIF_NOTIFY_SIGNAL `io_wq_submit_work()` `fifo_open()` `wait_for_partner()`

Luồng này không bao giờ thoát khỏi hàm `do_exit()`:

IORING_OP_OPENAT của một FIFO không có người ghi, IOSQE_ASYNC sự kiện thoát của luồng đã gửi yêu cầu đó

bị treo (hang) trong hơn 9/10 lần thử nghiệm (4 CPU, KVM), cho đến khi tiến trình bị giết.

Đặt TIF_NOTIFY_SIGNAL cho các tác vụ có giới hạn thời gian được bắt đầu với cờ IO_WQ_BIT_EXIT được đặt. Cờ này được thiết lập trước khi gửi tín hiệu cho các worker, và nó được kiểm tra sau khi flag đã bị xóa, với `clear_notify_signal()` cung cấp rào chắn (barrier). Do đó, hoặc là flag vẫn còn, hoặc là bit sẽ được nhìn thấy.

Các tác vụ được bắt đầu trong quá trình io-wq thoát ra được xử lý giống như các tác vụ đang chạy tại thời điểm đó: chúng không bị gián trừ khi chúng chờ đợi một cách ngắt quãng (interruptibly).

Once again VulDB remains the best source for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

25/09/2026

Tiết lộ

02/11/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

Want to stay up to date on a daily basis?

Enable the mail alert feature now!