CVE-2026-68330: net: airoha: Fix DMA direction for NPU mailbox buffer
In the Linux kernel, the following vulnerability has been resolved:
net: airoha: Fix DMA direction for NPU mailbox buffer
airohanpusendmsg() always maps the mailbox buffer with DMATODEVICE, but some callers expect the NPU to write response data back into the same buffer:
- airohanpuwlanmsgget() (NPUOPGET): NPU writes response into the buffer, then the caller reads it via memcpy() - airohanpuppestatssetup() (NPUOPSET): NPU writes back npustatsaddr field in the response
On non-cache-coherent architectures like EN7581 (Cortex-A53 without hardware cache coherency for NPU DMA), DMATODEVICE unmap is a no-op — it does not invalidate the CPU cache. If the NPU-written cache line is still present in the CPU cache when the caller reads the buffer, the CPU observes stale data instead of the NPU response.
This is a timing-sensitive bug: small mailbox buffers (~24 bytes) typically fit in a single cache line and may survive in the cache until the caller reads them, producing silent data corruption rather than a crash. The bug is more likely to trigger when the caller reads the response immediately after dmaunmapsingle() without intervening cache-evicting operations.
Fix by using DMABIDIRECTIONAL for both map and unmap, which ensures dmaunmapsingle() invalidates the CPU cache on non-coherent systems. The mailbox buffers are small so there is no performance concern.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Change airoha_npu_send_msg() to map the NPU mailbox buffer with DMA_BIDIRECTIONAL instead of DMA_TO_DEVICE, and ensure the corresponding dma_unmap_single() uses DMA_BIDIRECTIONAL as well (so dma_unmap_single invalidates CPU cache on non-cache-coherent architectures and prevents stale npu_stats_addr / response data reads).
Linux kernel (net: airoha) NPU mailbox buffer DMA mapping DMA direction used for DMA map/unmap = DMA_BIDIRECTIONAL for both map and unmap
Event History
Frequently Asked Questions
What is the severity of CVE-2026-68330?
CVE-2026-68330 has a severity score of 15, indicating a significant risk.
How do I fix CVE-2026-68330?
To fix CVE-2026-68330, update the Linux kernel to the latest version that includes the patch for this vulnerability.
What systems are affected by CVE-2026-68330?
CVE-2026-68330 affects systems running specific versions of the Linux kernel where the Airoha NPU driver is implemented.
What is the impact of CVE-2026-68330?
The impact of CVE-2026-68330 can lead to improper handling of DMA buffers, potentially causing data corruption.
When was CVE-2026-68330 published?
CVE-2026-68330 was published on August 10, 2026.