CVE-2026-98965 in Linuxthông tin

Tóm tắt

Bởi VulDB • 23/10/2026

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

ice: Khôi phục việc ghi MMIO có thứ tự cho các cửa gửi (Tx Doorbells)

Trạng thái kế toán DQL, theo dõi số lượng byte đã xếp hàng để NIC truyền đi, cụ thể là dql->num_queued, được trình điều khiển ICE cập nhật khi nó gọi __netdev_tx_sent_queue(). Sau đó, trình điều khiển cập nhật đuôi của hàng đợi phần cứng cho phép NIC bắt đầu xử lý hàng đợi công việc. Việc cập nhật kế toán hàng đợi phải có thứ tự trước khi NIC bắt đầu truyền các mô tả (descriptors).

Đường dẫn truyền hiện tại đang cập nhật chuông gửi phần cứng bằng writel_relaxed(), điều này (trên kiến trúc arm64) không cung cấp cùng các đảm bảo về thứ tự giữa việc ghi vào bộ nhớ thông thường và việc ghi vào thanh ghi MMIO mà writel() cung cấp. Điều này tạo ra một race condition tiềm ẩn, trong đó NIC bắt đầu truyền các mô tả trước khi bản cập nhật dql->num_queued trở nên hiển thị toàn cục. Nếu NIC hoàn thành trước khi bản cập nhật được quan sát bởi dql_completed(), nó sẽ phát hiện trạng thái không hợp lệ nơi nhiều byte đã được hoàn thành hơn so với số lượng đã xếp hàng. Khi điều này xảy ra, BUG_ON sau đây sẽ được kích hoạt:

BUG_ON(count > num_queued - dql->num_completed);

Vấn đề này đã được quan sát và biểu hiện dưới dạng sự cố sau (lưu ý rằng bản ghi vết cuộc gọi đã được cắt ngắn) trong môi trường có tải mạng liên tục sử dụng Bộ điều khiển Ethernet Intel Corporation E810-XXV cho SFP (rev 02) trên máy arm64. Việc thay thế writel_relaxed() bằng writel() trong kernel thử nghiệm đã loại bỏ sự cố trong tác vụ của người dùng, vốn trước đây tái hiện vấn đề một cách đáng tin cậy.

kernel BUG at lib/dynamic_queue_limits.c:99

Lỗi nội bộ: Oops - BUG: 00000000f2000800 [#1] SMP
pc : dql_completed+0x268/0x2a0 lr : ice_clean_tx_irq+0x1d4/0x620 [ice]
Vết cuộc gọi: dql_completed+0x268/0x2a0 (P) ice_napi_poll+0x94/0x520 [ice]
__napi_poll+0x48/0x3f0 net_rx_action+0x194/0x420

Điều này khôi phục hành vi trước commit ccde82e90946 ("ice: add E830 Earliest TxTime First Offload support"), vốn đã thay đổi cơ chế thông báo từ writel() sang writel_relaxed().

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ộ

23/10/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 want to use VulDB in your project?

Use the official API to access entries easily!