Katalog CVE

CVE-2026-93283

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w funkcji i3c_master_register_new_i3c_devs() ścieżka błędu device_register() nie czyści wskaźników desc->dev->desc oraz desc->dev przed zwolnieniem urządzenia. Prowadzi to do ostrzeżenia WARN_ON oraz do pozostawienia wiszącego wskaźnika na zwolnioną pamięć, co może skutkować użyciem po zwolnieniu.

Ocena ryzyka

Może prowadzić do użycia zwolnionej pamięci (use-after-free) i niestabilności jądra, potencjalnie do paniki systemu lub eskalacji uprawnień w kontekście jądra.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę, która czyści desc->dev->desc i desc->dev przed wywołaniem put_device() w ścieżce błędu.

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: i3c: master: Fix device_register() error path When device_register() fails in i3c_master_register_new_i3c_devs(), put_device() is called to drop the reference taken by device_register(). That drops the last reference, so the device's release callback i3c_device_release() runs and frees the i3c_device. Two problems follow from that: i3c_device_release() does WARN_ON(i3cdev->desc), so it warns because desc->dev->desc still points back at the descriptor. Clear it before calling put_device(). After put_device() frees the i3c_device, desc->dev is left pointing at freed memory, so clear desc->dev as well. That prevents, for example, i3c_master_unregister_i3c_devs() seeing desc->dev as non-NULL and dereferencing it.

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