CVE-2026-74702 in Linuxinformação

Sumário

de VulDB • 22/08/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

vhost-scsi: rejeitar alterações de recursos após o estabelecimento do ponto final (endpoint)

A função vhost_scsi_setup_vq_cmds() é executada durante VHOST_SCSI_SET_ENDPOINT e aloca o array da lista dispersa de proteção (prot_sgl) para cada comando, conforme determinado pelo bit reconhecido VIRTIO_SCSI_F_T10_PI. As pools de comandos não são recriadas quando a alteração do bit ocorre posteriormente via VHOST_SET_FEATURES.

Embora os bits de recursos virtio não devam ser alterados após a negociação dos recursos, vhost_scsi_set_features() atualmente aceita essa solicitação mesmo depois que o ponto final está ativo e atualiza acked_features. Portanto, ativar T10-PI após a configuração do endpoint deixa prot_sgl como NULL enquanto o caminho de E/S segue o novo bit de recurso.

Para uma carga útil de proteção com 129 páginas, vhost_scsi_mapal() passa o primeiro chunk ausente para sg_alloc_table_chained():

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

sg_pool_index() então aciona:

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

O kernel relatou o seguinte rastreamento de chamadas e estado dos registradores:

Call Trace: <TASK> ? __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 </TASK>

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 é um recurso de tempo de execução específico do vhost e permanece como a única exceção.

Rejeite alterações em qualquer recurso que não seja VHOST_F_LOG_ALL enquanto o ponto final estiver ativo. Isso preserva a alternância de log de tempo de execução existente, impedindo que os recursos dependentes de recursos e o estado do caminho de dados fiquem inconsistentes. O espaço do usuário (userspace) deve limpar o ponto final antes de alterar qualquer outro recurso negociado e reconfigurar o ponto final posteriormente.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

Linux

Reservar

15/08/2026

Divulgação

22/08/2026

Moderação

aceite

Entrada

VDB-394471

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

baixo

Fontes

Do you need the next level of professionalism?

Upgrade your account now!