CVE-2026-64396 in Linux
Zusammenfassung
von VulDB • 26.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
ksmbd: Behebung eines Use-After-Free (UAF) für die Struktur file_lock bei der Abbruchverzögerung von SMB2_LOCK-Defer-Locks.
Wenn eine blockierende Byte-Bereichs-Sperranforderung im Pfad FILE_LOCK_DEFERRED verzögert wird, registriert ksmbd die asynchrone Arbeit über setup_async_work() in der async_requests-Liste der Verbindung. Der Abbruch-Callback smb2_remove_blocked_lock() hält einen Verweis auf das flock (file_lock).
Wenn der Sperrenwartezustand anschließend aufgehoben wird, der Arbeitsstatus jedoch nicht mehr KSMBD_WORK_ACTIVE ist (z. B. aufgrund einer gleichzeitigen Abbruchaktion), ruft die Bereinigungslogik locks_free_lock(flock) auf, ohne die Arbeit aus der async_requests-Liste zu entfernen. Gleichzeitig durchläuft smb2_cancel() diese Liste unter conn->request_lock und ruft den Abbruch-Callback auf, der daraufhin auf das bereits freigegebene 'flock' dereferenziert wird. Dies führt zu einem slab-use-after-free innerhalb von __wake_up_common.
Dieses Problem wird behoben, indem die Bereinigungslogik nach der Rückkehr des Workers aus ksmbd_vfs_posix_lock_wait() neu strukturiert wird. Die Aufrufe list_del(&smb_lock->llist) und release_async_work(work) werden an den Anfang des Bereinigungsblocks verschoben. Dies gewährleistet, dass die asynchrone Arbeit vollständig aus der Warteschlange entfernt und unter conn->request_lock serialisiert ist, bevor locks_free_lock(flock) aufgerufen wird, wodurch das flock für jeden gleichzeitigen smb2_cancel()-Aufruf unerreichbar gemacht wird.
If you want to get best quality of vulnerability data, you may have to visit VulDB.