CVE-2026-74702 in Linuxthông tin

Tóm tắt

Bởi VulDB • 22/08/2026

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

vhost-scsi: từ chối thay đổi tính năng sau khi thiết lập điểm cuối (endpoint)

Hàm `vhost_scsi_setup_vq_cmds()` chạy trong ngữ cảnh `VHOST_SCSI_SET_ENDPOINT` và phân bổ mảng scatterlist bảo vệ (`prot_sgl`) cho từng lệnh dựa trên bit được xác nhận là `VIRTIO_SCSI_F_T10_PI`. Các pool của lệnh không được xây dựng lại khi `VHOST_SET_FEATURES thay đổi bit này sau đó.

Mặc dù các bit tính năng virtio không nên thay đổi sau khi thương lượng tính năng, nhưng hiện tại `vhost_scsi_set_features()` chấp nhận yêu cầu như vậy sau khi điểm cuối (endpoint) đã hoạt động và cập nhật `acked_features`. Việc kích hoạt T10-PI sau khi thiết lập endpoint do đó để lại `prot_sgl` là NULL trong khi đường dẫn I/O tuân theo bit tính năng mới.

Đối với payload bảo vệ có độ dài 129 trang, `vhost_scsi_mapal()` chuyển chunk đầu tiên bị thiếu cho `sg_alloc_table_chained()`:

```c sg_alloc_table_chained(table, 129, first_chunk=NULL, nents_first_chunk=inline_sg_cnt) ```

Sau đó, `sg_pool_index()` gặp phải:

```c BUG_ON(nents > SG_CHUNK_SIZE); /* 129 > 128 */ ```

Kernel đã báo cáo vết gọi (call trace) và trạng thái thanh ghi sau đây:

```text Call Trace: ? __sg_alloc_table+0x1d8/0x250 ? __pfx_vhost_run_work_list+0x10/0x10 [vhost]
sg_alloc_table_chained+0x59/0xf0 ? __pfx_sg_pool_alloc+0x10/0x10 ? vhost_scsi_calc_sgls.constprop.0+0x43/0x60 [vhost_scsi]
vhost_scsi_handle_vq+0xf02/0x1700 [vhost_scsi]
? __pfx_vhost_scsi_handle_vq+0x10/0x10 [vhost_scsi]
vhost_scsi_handle_kick+0x37/0x50 [vhost_scsi]
vhost_run_work_list+0x8e/0xd0 [vhost]
vhost_task_fn+0xe1/0x210 ret_from_fork+0x348/0x540 RIP: 0010:0x4 CR2 = 0x4 RSP: 0018:ffffc90000dbf940 EFLAGS: 00010202 RAX: ffffffff82396810 RBX: ffff88811dc28b80 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000081 ```

`VHOST_F_LOG_ALL` là một tính năng thời gian chạy đặc thù của vhost và vẫn là ngoại lệ duy nhất.

Từ chối thay đổi đối với bất kỳ tính năng nào khác ngoài `VHOST_F_LOG_ALL` trong khi điểm cuối (endpoint) đang hoạt động. Điều này bảo toàn nút bật/tắt nhật ký runtime hiện có đồng thời ngăn ngừa việc các tài nguyên lệnh phụ thuộc vào tính năng và trạng thái đường dẫn dữ liệu trở nên không nhất quán. Người dùng phải xóa điểm cuối trước khi thay đổi bất kỳ tính năng đã thương lượng nào khác và thiết lập lại điểm cuối sau đó.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

15/08/2026

Tiết lộ

22/08/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

thấp

Nguồn

Do you know our Splunk app?

Download it now for free!