CVE-2026-74702 in Linuxinfo

Zusammenfassung

von VulDB • 23.08.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

vhost-scsi: Ablehnung von Feature-Änderungen nach Einrichtung des Endpunkts

vhost_scsi_setup_vq_cmds() wird im Rahmen von VHOST_SCSI_SET_ENDPOINT ausgeführt und alloziert den Schutz-Sscatterlist-Array (prot_sgl) für jeden Befehl entsprechend dem bestätigten Bit VIRTIO_SCSI_F_T10_PI. Die Befehls-Pools werden nicht neu aufgebaut, wenn VHOST_SET_FEATURES dieses Bit später ändert.

Obwohl virtio-Feature-Bits nach der Feature-Aushandlung nicht geändert werden dürfen, akzeptiert vhost_scsi_set_features() derzeit eine solche Anforderung, nachdem der Endpunkt aktiv ist, und aktualisiert acked_features. Das Aktivieren von T10-PI nach dem Einrichten des Endpunkts hinterlässt daher prot_sgl als NULL, während der I/O-Pfad das neue Feature-Bit verfolgt.

Für ein 129-seitiges Schutz-Payload übergibt vhost_scsi_mapal() den fehlenden ersten Chunk an sg_alloc_table_chained():

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

sg_pool_index() löst daraufhin aus:

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

Der Kernel meldete den folgenden Call-Trace und Registerzustand:

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 ist ein vhost-spezifisches Runtime-Feature und bleibt die einzige Ausnahme.

Änderungen an allen Features außer VHOST_F_LOG_ALL werden abgelehnt, solange der Endpunkt aktiv ist. Dies bewahrt das bestehende Runtime-Log-Toggle, während verhindert wird, dass feature-abhängige Befehlsressourcen und Datenpfad-Zustände inkonsistent werden. Die Benutzerraum-Anwendung (Userspace) muss den Endpunkt löschen, bevor sie ein anderes ausgehandeltes Feature ändert, und ihn anschließend erneut einrichten.

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

Zuständig

Linux

Reservieren

15.08.2026

Veröffentlichung

22.08.2026

Moderieren

akzeptiert

Eintrag

VDB-394471

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!