CVE Catalog

CVE-2026-99276

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel ksmbd module, a deadlock occurs during connection scavenging when session locks are busy. The scavenging worker waits for a session lock held by destroy_previous_session(), which in turn waits behind a writer on conn_list_lock that the worker does not release.

Risk Assessment

This can cause an SMB service hang (denial of service) and block kernel threads handling connections.

Recommendation

Update the Linux kernel to a version with the fix that tries both session locks instead of waiting and keeps the connection for a later retry.

Other vulnerabilities in Linux kernel (ksmbd)

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: ksmbd: defer connection scavenging while session locks are busy The expiration worker holds conn_list_lock for reading while checking for authenticated sessions. Without this change, the check can wait for conn->session_lock or sessions_table_lock. In destroy_previous_session(), the status updates after ksmbd_conn_wait_idle_sess() run with both session locks held for writing. Both the KSMBD_SESS_GOOD error path and the KSMBD_SESS_NEED_SETUP success path call ksmbd_all_conn_set_status(), which takes conn_list_lock for reading. A writer queued on conn_list_lock can block these new read acquisitions. The worker then waits for a session lock held by destroy_previous_session(), which waits behind the writer. The writer cannot proceed until the worker releases conn_list_lock. Try both session locks instead of waiting in the scavenging check. Keep the connection when either lock is busy and let the periodic worker retry later.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS