HIGH Introduced in 5.7
smb DfsSuper UAF
CVE-2026-97562
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
KernelScan AI7.0HIGH
01Description
In the Linux kernel, the following vulnerability has been resolved: smb: client: pin DFS superblock in iterator callback tcon_super_cb() stores a raw superblock pointer, but __cifs_get_super() takes its active reference only after iterate_supers_type() has dropped s_umount and its passive reference. Concurrent DFS automount expiry can therefore free the superblock before cifs_sb_active() uses it. A deterministic KASAN test reproduces the race as: BUG: KASAN: slab-use-after-free in cifs_sb_active+0x77/0x80 The same test passes with this change applied. Take the active reference in the callback while iterate_supers_type() still holds s_umount shared. cifs_put_tcp_super() remains the matching release.
02KernelScan AI Analysis
Risk summary
A use-after-free race condition in the Linux kernel's SMB/CIFS client allows an unprivileged local user to trigger memory corruption via concurrent DFS automount expiry and failover on systems with active CIFS/DFS mounts. This can lead to arbitrary kernel memory read/write, information disclosure, or system crash. Systems without CIFS mounts or without local user access are not affected.
Vulnerability analysis
The SMB client holds a raw pointer to a filesystem superblock while failing over a DFS connection, but only pins it against freeing after the scan finishes. If a concurrent cleanup expires the DFS automount and frees the superblock in that window, the later access becomes a use-after-free. The fix pins the superblock during the scan itself, so it cannot be freed mid-operation. Any system with an active CIFS/DFS mount is affected; an unprivileged local user who can access the mount point can trigger the race by inducing DFS failover while automount expiry runs.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 6.12 | 5.7 | 6.12.111 | ea43a15cea36 |
| 6.18 | 5.7 | 6.18.53 | a6b656152221 |
| 6.6 | 5.7 | 6.6.158 | 3c9acc9835c3 |
| 7.2 | 5.7 | 7.2.7 | 5b01a8c02096 |
| mainline | 5.7 | 7.3 | d806d5a85dcb |
| cip/6.12 | 5.7 | 6.12.111-cip32 | ea43a15cea36 |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Fixed in 6.12.111-cip32 |
| cip/6.1 | Affected — no CIP fix yet (latest 6.1.190-cip62) |
| cip/6.1-rt | Affected — no CIP fix yet (latest 6.1.189-cip61-rt32) |
| cip/5.10 | Affected — no CIP fix yet (latest 5.10.272-cip79) |
| cip/5.10-rt | Affected — no CIP fix yet (latest 5.10.272-cip79-rt35) |