Katalog CVE

CVE-2026-64602

Niskie ryzyko· EPSS 6%
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 spear_adc (iio: adc) inicjalizacja struktury completion odbywa się po rejestracji procedury obsługi przerwań. Jeśli przerwanie pojawi się przed inicjalizacją, procedura obsługi wywołuje complete() na niezainicjalizowanej strukturze, co prowadzi do paniki jądra z powodu wyłuskania dzikiego wskaźnika.

Ocena ryzyka

Lokalny atakujący lub przypadkowe zdarzenie sprzętowe może spowodować natychmiastową awarię systemu (kernel panic), co prowadzi do niedostępności usług.

Rekomendacja

Zainstaluj poprawkę jądra, która przenosi inicjalizację completion przed rejestrację przerwania. Zaktualizuj system do wersji jądra zawierającej tę poprawkę.

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: adc: spear: Initialize completion before requesting IRQ In the report from Jaeyoung Chung: "spear_adc_probe() in drivers/iio/adc/spear_adc.c registers its interrupt handler with devm_request_irq() before it initializes st->completion with init_completion(). If an interrupt arrives after devm_request_irq() and before init_completion(), the handler calls complete() on an uninitialized completion, causing a kernel panic. The probe path, in spear_adc_probe(): iodev = devm_iio_device_alloc(&pdev->dev, sizeof(*st)); /* st kzalloc-zeroed */ ... retval = devm_request_irq(&pdev->dev, irq, spear_adc_isr, 0, LPC32XXAD_NAME, st); /* register handler */ ... init_completion(&st->completion); /* initialize completion */ spear_adc_isr() calls complete(): complete(&st->completion); If the device raises an interrupt before init_completion() runs, complete() acquires the uninitialized wait.lock and walks the zeroed task_list in swake_up_locked(). The zeroed task_list makes list_empty() return false, so swake_up_locked() dereferences a NULL list entry, triggering a KASAN wild-memory-access." Fix the chance of a spurious IRQ causing an uninitialized pointer dereference by moving init_completion() above devm_request_irq().

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