Description
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.
Published: 2026-11-07
Score: n/a
EPSS: n/a
KEV: No
Impact: Denial of Service via lock contention
Action: Patch
AI Analysis

Impact

The Linux kernel’s ksmbd service contains a lock ordering flaw that can cause its expiration worker to deadlock. When the worker attempts to read the shared conn_list_lock while also acquiring session locks that are already held by other operations, a circular wait can arise. The worker may block until a writer on conn_list_lock releases it, but that writer cannot proceed until the worker releases its lock after the session lock is released. This lock contention can freeze the periodic worker thread, causing SMB connections to stall and potentially leading to a persistent denial of service for the ksmbd service.

Affected Systems

All Linux kernel builds that include the ksmbd implementation and have not yet applied the patch commit 4e4e8b38994a0b0fc23f00ca6698b469a41abe70 are affected. The issue applies to any kernel version that contains the unpatched ksmbd code, as no specific version list is supplied.

Risk and Exploitability

The CVSS and EPSS scores are not publicly available, and the vulnerability is not listed in CISA KEV, so the documented exploitation probability is unknown. Based on the code behavior described, an attacker could trigger the lock contention by opening many SMB connections, thus the likely attack vector is through the SMB protocol to the affected system. This inference is made from the description, which does not directly state the attack method. The flaw resides entirely in kernel space and does not provide privilege escalation or confidentiality compromise, but it can impair the availability of the ksmbd service, especially under high load or default configuration.

Generated by OpenCVE AI on November 7, 2026 at 15:51 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that incorporates the ksmbd lock bug fix and reboot the system to load the updated kernel.
  • Disable or restart the ksmbd service to stop the affected worker until the patch is applied.
  • If a patch or reboot is not immediately possible, limit the number of concurrent SMB connections or temporarily disable ksmbd to reduce lock contention.

Generated by OpenCVE AI on November 7, 2026 at 15:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 07 Nov 2026 16:30:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Sat, 07 Nov 2026 16:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-368

Sat, 07 Nov 2026 14:15:00 +0000

Type Values Removed Values Added
Description 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.
Title ksmbd: defer connection scavenging while session locks are busy
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-11-07T14:08:46.432Z

Reserved: 2026-09-25T10:25:14.405Z

Link: CVE-2026-99276

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-07T14:17:02.967

Modified: 2026-11-07T14:17:02.967

Link: CVE-2026-99276

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-07T16:15:14Z

Weaknesses
  • CWE-368

    Context Switching Race Condition