Katalog CVE

CVE-2026-89893

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

Streszczenie

W sterowniku media cx23885 jądra Linux funkcja netup_ci_exit() zwalnia netup_ci_state, podczas gdy jego element roboczy netup_read_ci_status() może być wciąż oczekujący lub uruchomiony w systemowej kolejce roboczej. Worker uzyskuje stan przez container_of() i go dereferencjonuje, więc nie może przetrwać zwolnienia stanu.

Ocena ryzyka

Użycie po zwolnieniu pamięci przez worker kolejki może prowadzić do uszkodzenia pamięci jądra, paniki systemu lub potencjalnego wykorzystania do eskalacji uprawnień.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką wywołującą cancel_work_sync() przed dvb_ca_en50221_release() i kfree().

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: media: cx23885: cancel NetUP CI work before teardown netup_ci_exit() frees a netup_ci_state while its work item, netup_read_ci_status(), may still be pending or running on the system workqueue. The worker obtains the state with container_of() and dereferences it, so it must not outlive the state. netup_ci_init() queues the initial status read, and CI GPIO interrupts subsequently queue the same work from netup_ci_slot_status(). During remove, cx23885_finidev() calls free_irq() before the CI device is unregistered. free_irq() prevents further IRQ handlers from running, but does not drain work queued previously, so the worker can run after netup_ci_exit() frees the state. Call cancel_work_sync() before dvb_ca_en50221_release() and kfree(). This issue was found by an in-house static analysis tool.

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