CVE-2025-38527CWE-416

CVE-2025-38527

Critical · published August 16, 2025

CVSS v3.1
9.8
EPSS
0%
Percentile
36.3
In the wild
Unconfirmed
What it is

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

smb: client: fix use-after-free in cifs_oplock_break

A race condition can occur in cifs_oplock_break() leading to a

use-after-free of the cinode structure when unmounting:

cifs_oplock_break()

_cifsFileInfo_put(cfile)

cifsFileInfo_put_final()

cifs_sb_deactive()

[last ref, start releasing sb]

kill_sb()

kill_anon_super()

generic_shutdown_super()

evict_inodes()

dispose_list()

evict()

destroy_inode()

call_rcu(&inode->i_rcu, i_callback)

spin_lock(&cinode->open_file_lock) <- OK

[later] i_callback()

cifs_free_inode()

kmem_cache_free(cinode)

spin_unlock(&cinode->open_file_lock) <- UAF

cifs_done_oplock_break(cinode) <- UAF

The issue occurs when umount has already released its reference to the

superblock. When _cifsFileInfo_put() calls cifs_sb_deactive(), this

releases the last reference, triggering the immediate cleanup of all

inodes under RCU. However, cifs_oplock_break() continues to access the

cinode after this point, resulting in use-after-free.

Fix this by holding an extra reference to the superblock during the

entire oplock break operation. This ensures that the superblock and

its inodes remain valid until the oplock break completes.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00431 · 36.3th percentile
Weakness
CWE-416 · Use After Free
Published
2025-08-16T16:15Z
Affected products (20)
ProductVersionsFixed in
linux/linux_kernel≥ 3.16.72, < 3.173.17
linux/linux_kernel≥ 4.9.171, < 4.104.10
linux/linux_kernel≥ 4.14.114, < 4.154.15
linux/linux_kernel≥ 4.19.37, < 4.204.20
linux/linux_kernel≥ 5.0.10, < 5.15.1
linux/linux_kernel≥ 5.1.1, < 5.15.1905.15.190
linux/linux_kernel≥ 5.16, < 6.1.1476.1.147
linux/linux_kernel≥ 6.2, < 6.6.1006.6.100
linux/linux_kernel≥ 6.7, < 6.12.406.12.40
linux/linux_kernel≥ 6.13, < 6.15.86.15.8
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
debian/debian_linuxall versions—
References (7)
EPSS history
Timeline
  • 16 AUG 11:12Z
    smb: client: fix use-after-free in cifs_oplock_break
    cvelistv5