Katalog CVE

CVE-2026-98665

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.17%

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

Streszczenie

W jądrze Linux w sterowniku iio: health: max30102 wykryto dereferencję NULL w procedurze obsługi przerwania. Przerwanie jest żądane w max30102_probe() i pozostaje włączone przez cały czas życia urządzenia, ale indio_dev->active_scan_mask jest ważny tylko gdy bufor jest włączony. Gdy przerwanie nadejdzie bez włączonego bufora, procedura obsługi dereferencjonuje NULL active_scan_mask, powodując awarię jądra. Należy wywołać max30102_fifo_count() na początku procedury obsługi i zwrócić wcześnie, chyba że zgłosi gotowość próbki FIFO.

Ocena ryzyka

Może prowadzić do awarii jądra (panic) i niedostępności systemu, gdy przerwanie max30102 nadejdzie bez aktywnego bufora, co może być wywołane przez podłączone urządzenie lub warunki środowiskowe.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę sprawdzającą gotowość FIFO przed dostępem do active_scan_mask. Rozważ ograniczenie użycia sterownika max30102 do czasu aktualizacji.

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: iio: health: max30102: fix NULL dereference in interrupt handler The interrupt is requested in max30102_probe() and stays enabled for the lifetime of the device, but indio_dev->active_scan_mask is only valid while a buffer is enabled. When an interrupt arrives while no buffer is enabled, the handler dereferences the NULL active_scan_mask: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 Call trace: __bitmap_weight+0x64/0x98 (P) max30102_interrupt_handler+0x48/0x160 [max30102] Call max30102_fifo_count() at the top of the handler and return early unless it reports a FIFO sample is ready. Because FIFO_RDY is the only interrupt source enabled in max30102_chip_init(), an invocation of max30102_interrupt_handler() without the FIFO_RDY interrupt status bit set carries no data to read and can return before touching active_scan_mask. A negative return from max30102_fifo_count() indicates a failed interrupt status read and is treated the same way.

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