Katalog CVE

CVE-2026-98601

Niskie ryzyko· EPSS 9%
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.20%

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

Streszczenie

W jądrze Linux sterownik Bluetooth btintel_pcie nie waliduje indeksów DMA dostarczanych przez urządzenie. Pole urbd1->frbd_tag jest używane bez sprawdzenia granic jako indeks tablicy rxq->bufs[] mającej tylko 64 wpisy, a cr_hia odczytywane z tablicy indeksów współdzielonej przez DMA może powodować nieskończoną pętlę, gdy przekroczy rxq->count.

Ocena ryzyka

Złośliwe lub wadliwe urządzenie może wywołać odwołanie do wskaźnika poza granicami bufora lub zawieszenie sterownika, prowadząc do awarii jądra lub potencjalnej eskalacji uprawnień.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką dodającą walidację granic cr_hia i frbd_tag w ścieżce RX oraz cr_hia w ścieżce TX.

Inne podatności w Linux kernel

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

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel_pcie: validate device-supplied DMA indices In btintel_pcie_msix_rx_handle(), the driver processes RX completion descriptors (urbd1) written by the PCIe device into DMA-coherent memory. urbd1->frbd_tag (a 16-bit field fully controlled by the device firmware via DMA) is used directly as an array index into rxq->bufs[] without any bounds check. rxq->bufs[] has only BTINTEL_PCIE_RX_DESCS_COUNT (64) entries, while frbd_tag can be any value 0-65535. A malicious or malfunctioning device can write an out-of-range frbd_tag, causing the driver to dereference an out-of-bounds data_buf pointer. Additionally, cr_hia is read from a DMA-shared index array also writable by the device; if the device sets cr_hia >= rxq->count, the while-loop never terminates because cr_tia is wrapped via modulo rxq->count and can never equal an out-of-range cr_hia. Add bounds validation for cr_hia and frbd_tag in the RX path, and cr_hia in the TX path. Log invalid values with bt_dev_err before returning.

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