CVE-2026-99229 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/wait: không vòng lặp vô hạn (spin) trên danh sách overflow bị kẹt

Chừng nào cờ IO_CHECK_CQ_OVERFLOW_BIT vẫn được đặt, io_cqring_wait_schedule() sẽ trả về ngay lập tức trước khi nó kiểm tra tín hiệu hoặc thiết lập thời gian chờ, để io_cqring_wait() làm rỗng danh sách overflow. Nếu điều đó không làm trống danh sách và vòng CQ (CQ ring) không chứa số lượng sự kiện mà caller yêu cầu, vòng lặp bắt đầu lại với cùng kết quả. Tác vụ bị kẹt trong kernel và không thể bị hủy bỏ.

Giả định ban đầu là tình huống này không thể xảy ra: nếu các CQE không thể được làm rỗng, thì vòng (ring) đã đầy, và min_events bị giới hạn ở kích thước của vòng. Tuy nhiên:

- Với IORING_SETUP_CQE_MIXED, một CQE 32-bit cần hai mục liên tục. Nó sẽ bị kẹt trên danh sách nếu chỉ có một mục trống, khi đó vòng chứa ít sự kiện hơn cq_entries. Một ứng dụng đơn luồng yêu cầu số lượng sự kiện bằng với số mục của vòng sẽ không bao giờ thoát khỏi io_uring_enter().

- Việc vòng (ring) có đầy hay không phụ thuộc vào con trỏ đầu CQ (CQ head), mà ứng dụng có thể ghi vào. Trong khi một tác vụ đang chờ các sự kiện trên một vòng rỗng, một tác vụ khác có thể di chuyển ngược con trỏ đầu để khiến vòng trông như đã đầy và gây ra overflow CQE. Tác vụ chờ không thể bị dừng lại nữa, ngay cả bằng SIGKILL.

Chỉ ứng dụng mới có thể tạo khoảng trống trong vòng CQ. Hãy trả về cho nó nếu danh sách không thể được làm rỗng.

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!