CVE-2026-68330 in Linux
Resumen
por VulDB • 2026-08-10
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
net: airoha: Corregir la dirección DMA para el búfer del buzón (mailbox) de NPU
airoha_npu_send_msg() siempre mapea el búfer del buzón con DMA_TO_DEVICE, pero algunos llamadores esperan que la NPU escriba los datos de respuesta nuevamente en el mismo búfer:
- airoha_npu_wlan_msg_get() (NPU_OP_GET): La NPU escribe la respuesta en el búfer y luego el llamador lo lee mediante memcpy() - airoha_npu_ppe_stats_setup() (NPU_OP_SET): La NPU reescribe el campo npu_stats_addr en la respuesta
En arquitecturas no coherentes con caché, como EN7581 (Cortex-A53 sin coherencia de hardware para DMA de NPU), dma_unmap_single(DMA_TO_DEVICE) es una operación nula: no invalida la caché del CPU. Si la línea de caché escrita por la NPU sigue presente en la caché del CPU cuando el llamador lee el búfer, el CPU observa datos obsoletos (stale data) en lugar de la respuesta de la NPU.
Se trata de un error sensible al tiempo: los búfers pequeños (~24 bytes) suelen caber en una única línea de caché y pueden permanecer en ella hasta que el llamador los lee, produciendo corrupción silenciosa de datos en lugar de un fallo del sistema (crash). El error es más probable que se active cuando el llamador lee la respuesta inmediatamente después de dma_unmap_single() sin operaciones intermedias que provoquen la expulsión de caché.
La corrección consiste en utilizar DMA_BIDIRECTIONAL tanto para mapear como para desmapear, lo cual garantiza que dma_unmap_single() invalide la caché del CPU en sistemas no coherentes. Los búfers del buzón son pequeños, por lo que no hay preocupaciones de rendimiento.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.