Katalog CVE

CVE-2026-92514

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w sterowniku RDMA/erdma występuje błąd use-after-free związany z taskletem CEQ podczas usuwania urządzenia. Funkcja free_irq() nie opróżnia taskletu już zaplanowanego przez handler przerwania, więc tasklet może uzyskać dostęp do zwolnionych buforów EQ (eq->qbuf lub eq->dbrec) po wywołaniu erdma_eq_destroy().

Ocena ryzyka

Może prowadzić do uszkodzenia pamięci jądra, awarii systemu (panic) lub potencjalnego wykorzystania do eskalacji uprawnień w systemach korzystających z urządzeń RDMA erdma.

Rekomendacja

Zaktualizować jądro Linux do wersji zawierającej poprawkę, która zabija tasklet po free_irq() i przed zwolnieniem buforów EQ. Jeśli aktualizacja nie jest możliwa, ograniczyć dostęp do operacji usuwania urządzeń RDMA.

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: RDMA/erdma: Fix CEQ tasklet use-after-free on removal Each CEQ interrupt handler only schedules eqc->tasklet. The tasklet calls erdma_ceq_completion_handler(), which reads the DMA-coherent EQ ring through get_next_valid_eqe() and updates eq->dbrec through notify_eq(). erdma_ceqs_uninit() frees each CEQ IRQ and then destroys its EQ. free_irq() prevents another hard IRQ and waits for an in-flight handler, but it does not drain a tasklet that the handler already scheduled. The tasklet can therefore access eq->qbuf or eq->dbrec after erdma_eq_destroy() frees them. Clearing ceq_cb->ready does not synchronize with a tasklet that already passed the check at the start of erdma_ceq_completion_handler(). Kill the tasklet after free_irq(), when no handler can schedule it again, and before erdma_ceq_uninit_one() releases the EQ buffers.

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