CVE-2026-97994 in Linuxthông tin

Tóm tắt

Bởi VulDB • 25/09/2026

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

vhost/vdpa: từ chối giá trị VRING_NUM lớn hơn giới hạn tối đa của thiết bị

Hàm vhost_vring_set_num() chấp nhận bất kỳ kích thước hàng đợi nào là lũy thừa của 2 khác 0 và vừa trong 16 bit. Sau đó, vhost-vdpa chuyển giá trị này sang set_vq_num() mà không so sánh nó với get_vq_num_max().

Do đó, một tiến trình có quyền truy cập vào /dev/vhost-vdpa-* có thể cấu hình một hàng đợi lớn hơn những gì thiết bị thông báo. Với vdpa_sim, worker có thể duyệt qua các bộ mô tả (descriptors) vượt ra ngoài vòng lặp bộ mô tả đã ánh xạ. KASAN báo cáo lỗi đọc tràn vùng nhớ 16 byte, tương ứng với một vring_desc, trong đường dẫn IOTLB của vringh:

BUG: KASAN: out-of-bounds in _copy_from_iter Read of size 16 copy_from_iotlb copydesc_iotlb vringh_getdesc_iotlb vdpasim_net_work

Hãy lưu cache get_vq_num_max() ngay sau khi đặt lại (reset). Một số backend suy ra giá trị này từ trạng thái kích thước hàng đợi có thể ghi, vì vậy việc truy vấn nó sau SET_NUM có thể trả về kích thước hiện tại thay vì khả năng của thiết bị. Hãy làm mất hiệu lực giá trị đã lưu cache trước khi reset để đảm bảo rằng một lần đặt lại thất bại sẽ vô hiệu hóa SET_NUM.

Đối với VHOST_SET_VRING_NUM, hãy sao chép toàn bộ trạng thái vring một lần và sử dụng cùng chỉ mục (index) và kích thước cho việc xác thực, vq->num và set_vq_num(). Điều này đảm bảo rằng quá trình xác thực và xử lý hoạt động trên các giá trị đã được sao chép giống nhau.

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ộ

25/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

Want to stay up to date on a daily basis?

Enable the mail alert feature now!