Vulnerabilidad en kernel de Linux (CVE-2024-58099)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-787
Escritura fuera de límites
Fecha de publicación:
29/04/2025
Última modificación:
09/05/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: vmxnet3: Se corrige la corrupción de paquetes en vmxnet3_xdp_xmit_frame. Andrew y Nikolay informaron sobre problemas de conectividad con el balanceo de carga del servicio de Cilium en el caso de vmxnet3. Si un programa BPF para XDP nativo añade un encabezado de encapsulación como IPIP y transmite el paquete por la misma interfaz, en el caso de vmxnet3 se envía un paquete dañado que posteriormente se descarta en la ruta. vmxnet3_xdp_xmit_frame(), que se llama, por ejemplo, mediante vmxnet3_run_xdp() a través de vmxnet3_xdp_xmit_back(), calcula una dirección DMA incorrecta: page = virt_to_page(xdpf->data); tbi->dma_addr = page_pool_get_dma_addr(page) + VMXNET3_XDP_HEADROOM; dma_sync_single_for_device(&adapter->pdev->dev, tbi->dma_addr, buf_size, DMA_TO_DEVICE); Lo anterior asume un desplazamiento fijo (VMXNET3_XDP_HEADROOM), pero el programa XDP BPF podría haber movido xdp->data. Si bien el buf_size pasado es correcto (xdpf->len), dma_addr debe tener un desplazamiento dinámico que se puede calcular como xdpf->data - (void *)xdpf, es decir, xdp->data - xdp->data_hard_start.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.6 (incluyendo) | 6.6.59 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.11.6 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.12:rc3:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página