Katalog CVE

CVE-2026-46264

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.11%

Percentyl 2 - wyżej niż 2% wszystkich znanych CVE

Streszczenie

W jądrze Linux w sterowniku DRM dla układów Intel Xe (xe) wykryto podatność związaną z nieprawidłową inicjalizacją sysfs dla funkcji SR-IOV PF. W przypadku niepowodzenia devm_add_action_or_reset() funkcja czyszcząca była wywoływana na niezainicjalizowanym obiekcie kobject, co prowadziło do ostrzeżeń jądra i potencjalnego use-after-free. Problem został naprawiony poprzez rozdzielenie wywołań kobject_init() i kobject_add() oraz rejestrację akcji czyszczącej dopiero po pełnej inicjalizacji kobject.

Ocena ryzyka

Ryzyko obejmuje potencjalne awarie systemu (kernel panic) lub nieokreślone zachowanie w wyniku use-after-free, co może prowadzić do utraty stabilności systemu lub eskalacji uprawnień w środowiskach korzystających z wirtualizacji SR-IOV na układach Intel.

Rekomendacja

Zaleca się natychmiastową aktualizację jądra Linux do wersji zawierającej commit 98b16727f07e26a5d4de84d88805ce7ffcfdd324 lub nowszej. Należy monitorować oficjalne biuletyny bezpieczeństwa dystrybucji Linux w celu uzyskania poprawek.

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: drm/xe/pf: Fix sysfs initialization In case of devm_add_action_or_reset() failure the provided cleanup action will be run immediately on the not yet initialized kobject. This may lead to errors like: [ ] kobject: '(null)' (ff110001393608e0): is not initialized, yet kobject_put() is being called. [ ] WARNING: lib/kobject.c:734 at kobject_put+0xd9/0x250, CPU#0: kworker/0:0/9 [ ] RIP: 0010:kobject_put+0xdf/0x250 [ ] Call Trace: [ ] xe_sriov_pf_sysfs_init+0x21/0x100 [xe] [ ] xe_sriov_pf_init_late+0x87/0x2b0 [xe] [ ] xe_sriov_init_late+0x5f/0x2c0 [xe] [ ] xe_device_probe+0x5f2/0xc20 [xe] [ ] xe_pci_probe+0x396/0x610 [xe] [ ] local_pci_probe+0x47/0xb0 [ ] refcount_t: underflow; use-after-free. [ ] WARNING: lib/refcount.c:28 at refcount_warn_saturate+0x68/0xb0, CPU#0: kworker/0:0/9 [ ] RIP: 0010:refcount_warn_saturate+0x68/0xb0 [ ] Call Trace: [ ] kobject_put+0x174/0x250 [ ] xe_sriov_pf_sysfs_init+0x21/0x100 [xe] [ ] xe_sriov_pf_init_late+0x87/0x2b0 [xe] [ ] xe_sriov_init_late+0x5f/0x2c0 [xe] [ ] xe_device_probe+0x5f2/0xc20 [xe] [ ] xe_pci_probe+0x396/0x610 [xe] [ ] local_pci_probe+0x47/0xb0 Fix that by calling kobject_init() and kobject_add() separately and register cleanup action after the kobject is initialized. Also make this cleanup registration a part of the create helper to fix another mistake, as in the loop we were wrongly passing parent kobject while registering cleanup action, and this resulted in some undetected leaks. (cherry picked from commit 98b16727f07e26a5d4de84d88805ce7ffcfdd324)

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