Katalog CVE

CVE-2026-53170

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.14%

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

Streszczenie

W jądrze Linux w sterowniku accel/ethosu wykryto podatność polegającą na braku inicjalizacji długości DMA. Jeśli użytkownik pominie ustawienie długości DMA przed uruchomieniem transferu, sterownik używa niezainicjalizowanej wartości (U64_MAX), co prowadzi do obejścia kontroli granic i wykonania DMA na nieprawidłowych adresach fizycznych.

Ocena ryzyka

Atakujący z lokalnym dostępem może wykorzystać tę podatność do wykonania operacji DMA na dowolnych adresach pamięci, co może prowadzić do eskalacji uprawnień lub wycieku danych.

Rekomendacja

Należy niezwłocznie zaktualizować jądro Linux do wersji zawierającej poprawkę, która dodaje sprawdzenie wartości U64_MAX przed wykonaniem operacji arytmetycznych w funkcji dma_length().

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

In the Linux kernel, the following vulnerability has been resolved: accel/ethosu: reject DMA commands with uninitialized length cmd_state_init() initializes the command state with memset(0xff), leaving dma->len at U64_MAX to signal missing setup. The only setter is NPU_SET_DMA0_LEN; if userspace omits this command and issues NPU_OP_DMA_START, dma->len remains U64_MAX. In dma_length(), a positive stride added to U64_MAX wraps to a small value. With size0 == 1, check_mul_overflow() does not trigger and dma_length() returns 0 instead of U64_MAX. The caller's U64_MAX check then passes, region_size[] stays 0, and the bounds check in ethosu_job.c is bypassed, allowing hardware to execute DMA with stale physical addresses. Fix by checking for U64_MAX at the start of dma_length() before any arithmetic, consistent with the sentinel value used throughout the driver to detect uninitialized fields.

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