Description
In the Linux kernel, the following vulnerability has been resolved:

smb: client: avoid leaking refcount in cifs_queue_oplock_break()

cifs_queue_oplock_break() unconditionally takes a reference on the
target file before queueing cifs_oplock_break(). Only that work item
decreases the reference counter again.

If another oplock break arrives while that work is still queued,
queue_work() will return false and not queue this second work item. As a
result, we will never reach the point to drop the file reference again
and are leaking this reference. This can be triggered when interacting
with a slow-responding server.

As a result, later unmount operations for this file system will fail with

BUG: Dentry ... still in use (1) [unmount of cifs cifs]
VFS: Busy inodes after unmount of cifs (cifs)
kernel BUG at fs/super.c:777!

Fix this by only incrementing the reference count if the work has been
queued successfully. Taking it after queue_work() is safe because all
three callers hold tcon->open_file_lock across the call and
_cifsFileInfo_put() decrements under that same lock, so a worker that
starts the handler in the window cannot drop the reference before it has
been taken.
Published: 2026-09-25
Score: n/a
EPSS: n/a
KEV: No
Impact: Resource Exhaustion / Kernel Crash
Action: Patch
AI Analysis

Impact

In Linux kernel SMB client code, the function that queues an oplock break mistakenly increases a reference count on a file without first confirming that the work item was queued. If a second oplock break arrives before the first work is processed, the queueing fails and the incremented reference is never released, leaking a reference. Repeated leaks can cause a build‑up of unreleased inodes, eventually leading to kernel panics during unmount operations, as the kernel reports a busy inode or dentry. This defect represents a denial‑of‑service condition that could be triggered by an SMB server that sends op‑lock break requests slowly or repeatedly.

Affected Systems

The flaw exists in the Linux kernel SMB client implementation. The affected systems are Linux distributions that ship the Linux kernel with the unpatched SMB client code. No specific kernel versions are listed in the CVE data, so any system running a kernel that includes the vulnerable code before the patch is at risk.

Risk and Exploitability

The CVSS score and EPSS are not available, and the vulnerability is not listed in CISA's KEV catalog, indicating no known active exploits. Nonetheless, the condition can be triggered by a malicious or misconfigured SMB server that issues repeated oplock break requests. The lack of a public exploit path limits the immediate threat, but the potential for a kernel panic and denial of service warrants prompt remediation. The vulnerability is exploitable from the perspective of an attacker controlling an SMB server or one with a slow response, making the risk moderate for environments that rely heavily on CIFS mounts.

Generated by OpenCVE AI on September 25, 2026 at 13:07 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the fix commits 2ed2c29d, 9f2e63f1, af0193bbf1, and dfe7b750c7e or later.
  • If an immediate kernel upgrade is not possible, apply the individual patch if it is provided by the distribution; otherwise, plan for a reboot with the patched kernel as soon as released.
  • Restart or remount CIFS filesystems after applying the patch to clear any lingering reference leaks.
  • Ensure SMB servers behind the client are configured to avoid slow or repeated oplock break requests, reducing the likelihood of triggering the bug.

Generated by OpenCVE AI on September 25, 2026 at 13:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: smb: client: avoid leaking refcount in cifs_queue_oplock_break() cifs_queue_oplock_break() unconditionally takes a reference on the target file before queueing cifs_oplock_break(). Only that work item decreases the reference counter again. If another oplock break arrives while that work is still queued, queue_work() will return false and not queue this second work item. As a result, we will never reach the point to drop the file reference again and are leaking this reference. This can be triggered when interacting with a slow-responding server. As a result, later unmount operations for this file system will fail with BUG: Dentry ... still in use (1) [unmount of cifs cifs] VFS: Busy inodes after unmount of cifs (cifs) kernel BUG at fs/super.c:777! Fix this by only incrementing the reference count if the work has been queued successfully. Taking it after queue_work() is safe because all three callers hold tcon->open_file_lock across the call and _cifsFileInfo_put() decrements under that same lock, so a worker that starts the handler in the window cannot drop the reference before it has been taken.
Title smb: client: avoid leaking refcount in cifs_queue_oplock_break()
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 Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-25T10:21:47.680Z

Reserved: 2026-09-24T16:01:01.155Z

Link: CVE-2026-97557

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:06.193

Modified: 2026-09-25T11:17:06.193

Link: CVE-2026-97557

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T13:15:07Z

Weaknesses

No weakness.