Katalog CVE

CVE-2026-98544

Niskie ryzyko· EPSS 10%
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.20%

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

Streszczenie

W sterowniku bna funkcje bnad_pci_remove() i ścieżka disable_ioceth wywoływały timer_delete_sync() dla ioc_timer, sem_timer i hb_timer, ale nie dla iocpf_timer. Po zwolnieniu struktury bnad przez free_netdev() funkcja bnad_iocpf_timeout() odwołuje się do zwolnionej pamięci, ponieważ timery sem_timer i iocpf_timer wzajemnie się uzbrajają.

Ocena ryzyka

Może wystąpić użycie zwolnionej pamięci (use-after-free) w jądrze, prowadzące do awarii systemu lub potencjalnie do eskalacji uprawnień. Dotyczy systemów korzystających ze sterownika bna.

Rekomendacja

Zaktualizować jądro Linux do wersji zawierającej poprawkę, która wyłącza wszystkie cztery timery IOC za pomocą timer_shutdown_sync() na obu ścieżkach.

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: bna: prevent IOC timer rearm during teardown bna: prevent IOC timer rearm during teardown bnad_pci_remove() and the probe disable_ioceth path call timer_delete_sync() for ioc_timer, sem_timer and hb_timer, but not for iocpf_timer. bnad_iocpf_timeout() then takes bnad->bna_lock after free_netdev() has freed the struct bnad. Deleting iocpf_timer last does not fix this. sem_timer and iocpf_timer rearm each other: bnad_iocpf_sem_timeout() can arm iocpf_timer, and bnad_iocpf_timeout() arms sem_timer from bfa_ioc_hw_sem_get() when the semaphore is busy. timer_delete_sync() only waits out its own callback. bnad_ioceth_disable() can time out and leave that callback live. Shut all four IOC timers down with timer_shutdown_sync() on both paths, so a later mod_timer() is ignored. This issue was identified during our ongoing static-analysis research while reviewing kernel code.

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