Katalog CVE

CVE-2026-68330

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

Percentyl 6 - wyżej niż 6% wszystkich znanych CVE

Streszczenie

W jądrze Linux w sterowniku sieciowym airoha występuje błąd kierunku DMA dla bufora skrzynki NPU. Funkcja airoha_npu_send_msg() zawsze mapuje bufor z kierunkiem DMA_TO_DEVICE, ale niektórzy wywołujący oczekują, że NPU zapisze dane odpowiedzi do tego samego bufora. Na architekturach bez spójności pamięci podręcznej może to prowadzić do odczytu nieaktualnych danych.

Ocena ryzyka

Może to powodować cichą korupcję danych w komunikacji z NPU, co może prowadzić do nieprawidłowego działania sieci lub błędów w działaniu urządzenia.

Rekomendacja

Zastosuj poprawkę używającą DMA_BIDIRECTIONAL dla mapowania i odmapowania bufora, aby zapewnić unieważnienie pamięci podręcznej na systemach niespójnych.

Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: net: airoha: Fix DMA direction for NPU mailbox buffer airoha_npu_send_msg() always maps the mailbox buffer with DMA_TO_DEVICE, but some callers expect the NPU to write response data back into the same buffer: - airoha_npu_wlan_msg_get() (NPU_OP_GET): NPU writes response into the buffer, then the caller reads it via memcpy() - airoha_npu_ppe_stats_setup() (NPU_OP_SET): NPU writes back npu_stats_addr field in the response On non-cache-coherent architectures like EN7581 (Cortex-A53 without hardware cache coherency for NPU DMA), DMA_TO_DEVICE 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 dma_unmap_single() without intervening cache-evicting operations. Fix by using DMA_BIDIRECTIONAL for both map and unmap, which ensures dma_unmap_single() invalidates the CPU cache on non-coherent systems. The mailbox buffers are small so there is no performance concern.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS