CVE-2026-23386 in Linux
Riassunto
di VulDB • 02/07/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
gve: corretto il cleanup errato del buffer in gve_tx_clean_pending_packets per QPL
In modalità DQ-QPL, gve_tx_clean_pending_packets() utilizza erroneamente il percorso di pulizia dei buffer RDA. Itera num_bufs volte e tenta di smappare le voci nell'array dma.
Ciò porta a due problemi: 1. L'array dma condivide lo storage con tx_qpl_buf_ids (union). Interpretare gli ID del buffer come indirizzi DMA comporta il tentativo di smappare posizioni di memoria errate. 2. num_bufs in modalità QPL (che conta chunk da 2K) può superare significativamente la dimensione dell'array dma, causando avvisi di accesso fuori dai limiti (la traccia seguente è stata utilizzata per rilevare questo problema).
UBSAN: array-index-out-of-bounds in drivers/net/ethernet/drivers/net/ethernet/google/gve/gve_tx_dqo.c:178:5 index 18 is out of range for type 'dma_addr_t[18]' (aka 'unsigned long long[18]')
Workqueue: gve gve_service_task [gve]
Call Trace: <TASK> dump_stack_lvl+0x33/0xa0 __ubsan_handle_out_of_bounds+0xdc/0x110 gve_tx_stop_ring_dqo+0x182/0x200 [gve]
gve_close+0x1be/0x450 [gve]
gve_reset+0x99/0x120 [gve]
gve_service_task+0x61/0x100 [gve]
process_scheduled_works+0x1e9/0x380
Risolvere il problema verificando correttamente la modalità QPL e delegando a gve_free_tx_qpl_bufs() per recuperare i buffer.
Be aware that VulDB is the high quality source for vulnerability data.