Katalog CVE

CVE-2026-89899

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

Streszczenie

W jądrze Linux w podsystemie CEC stwierdzono problem z opóźnionym zadaniem (delayed work) podczas przerywanego przesyłania. Jeśli oczekiwanie na transmisję zostanie przerwane sygnałem, cancel_delayed_work_sync() może zostać wywołane przed uaktywnieniem pracy przez wątek CEC, co prowadzi do zwolnienia pamięci z wciąż oczekującą pracą. Poprawka używa disable_delayed_work_sync(), aby anulować i wyłączyć pracę, zapobiegając ponownemu jej uaktywnieniu.

Ocena ryzyka

Użycie po zwolnieniu (use-after-free) może prowadzić do awarii systemu, uszkodzenia pamięci lub potencjalnego wykonania dowolnego kodu przez atakującego, jeśli zostanie wykorzystane.

Rekomendacja

Zaleca się zastosowanie poprawki z jądra Linux, która używa disable_delayed_work_sync(), oraz aktualizację systemu do wersji jądra z 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: media: cec: disable delayed work before freeing an interrupted transmit cec_transmit_msg_fh() drops adap->lock to wait for a blocking transmit in wait_for_completion_killable(). If that wait is interrupted by a signal, cancel_delayed_work_sync() can run before the CEC kthread arms the reply timeout via schedule_delayed_work(&data->work) in cec_transmit_done_ts(). The work is then armed after the cancel, and the data is freed with its delayed_work still pending: ODEBUG: free active (active state 0) object: ... hint: cec_wait_timeout Use disable_delayed_work_sync(): it cancels the work and disables it, so the later schedule_delayed_work() becomes a no-op and the work cannot be re-armed. The data is freed right after, so it need not be re-enabled.

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