Vulnerabilidad en Linux (CVE-2026-23386)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
25/03/2026
Última modificación:
25/03/2026
Descripción
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
gve: corrige la limpieza incorrecta del búfer en gve_tx_clean_pending_packets para QPL<br />
<br />
En el modo DQ-QPL, gve_tx_clean_pending_packets() utiliza incorrectamente la ruta de limpieza del búfer RDA. Itera num_bufs veces e intenta desmapear entradas en el array dma.<br />
<br />
Esto conduce a dos problemas:<br />
1. El array dma comparte almacenamiento con tx_qpl_buf_ids (unión).<br />
Interpretar los IDs de búfer como direcciones DMA resulta en el intento de desmapear ubicaciones de memoria incorrectas.<br />
2. num_bufs en modo QPL (contando bloques de 2K) puede exceder significativamente el tamaño del array dma, causando advertencias de acceso fuera de límites (el rastro a continuación es cómo notamos este problema).<br />
<br />
UBSAN: índice de array fuera de límites en<br />
drivers/net/ethernet/drivers/net/ethernet/google/gve/gve_tx_dqo.c:178:5 el índice 18 está fuera de<br />
rango para el tipo &#39;dma_addr_t[18]&#39; (también conocido como &#39;unsigned long long[18]&#39;)<br />
Cola de trabajo: gve gve_service_task [gve]<br />
Rastro de Llamada:<br />
<br />
dump_stack_lvl+0x33/0xa0<br />
__ubsan_handle_out_of_bounds+0xdc/0x110<br />
gve_tx_stop_ring_dqo+0x182/0x200 [gve]<br />
gve_close+0x1be/0x450 [gve]<br />
gve_reset+0x99/0x120 [gve]<br />
gve_service_task+0x61/0x100 [gve]<br />
process_scheduled_works+0x1e9/0x380<br />
<br />
Soluciona esto verificando correctamente el modo QPL y delegando a gve_free_tx_qpl_bufs() para reclamar los búferes.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/07e0c80e17ef781799e7cd5c41a7bf44f1bf6a5f
- https://git.kernel.org/stable/c/3744ebd8ffaa542ae8110fb449adcac0202f4cc8
- https://git.kernel.org/stable/c/71511dae56a75ce161aa746741e5c498feaea393
- https://git.kernel.org/stable/c/c171f90f58974c784db25e0606051541cb71b7f0
- https://git.kernel.org/stable/c/fb868db5f4bccd7a78219313ab2917429f715cea



