Description
In the Linux kernel, the following vulnerability has been resolved: smb: client: fix potential cfid UAF in smb2_query_info_compound When smb2_query_info_compound() retries, a previously allocated cfid may have been freed in the first attempt. Because cfid wasn't reset on replay, later cleanup could act on a stale pointer, leading to a potential use-after-free. Reinitialize cfid to NULL under the replay label. Example trace (trimmed): refcount_t: underflow; use-after-free. WARNING: CPU: 1 PID: 11224 at ../lib/refcount.c:28 refcount_warn_saturate+0x9c/0x110 [...] RIP: 0010:refcount_warn_saturate+0x9c/0x110 [...] Call Trace: <TASK> smb2_query_info_compound+0x29c/0x5c0 [cifs f90b72658819bd21c94769b6a652029a07a7172f] ? step_into+0x10d/0x690 ? __legitimize_path+0x28/0x60 smb2_queryfs+0x6a/0xf0 [cifs f90b72658819bd21c94769b6a652029a07a7172f] smb311_queryfs+0x12d/0x140 [cifs f90b72658819bd21c94769b6a652029a07a7172f] ? kmem_cache_alloc+0x18a/0x340 ? getname_flags+0x46/0x1e0 cifs_statfs+0x9f/0x2b0 [cifs f90b72658819bd21c94769b6a652029a07a7172f] statfs_by_dentry+0x67/0x90 vfs_statfs+0x16/0xd0 user_statfs+0x54/0xa0 __do_sys_statfs+0x20/0x50 do_syscall_64+0x58/0x80
Product status
433042a91f9373241307725b52de573933ffedbf (git) before 939c4e33005e2a56ea8fcedddf0da92df864bd3b
4f1fffa2376922f3d1d506e49c0fd445b023a28e (git) before 327f89c21601ebb7889f8c97754b76f08ce95a0c
4f1fffa2376922f3d1d506e49c0fd445b023a28e (git) before b556c278d43f4707a9073ca74d55581b4f279806
4f1fffa2376922f3d1d506e49c0fd445b023a28e (git) before 5c76f9961c170552c1d07c830b5e145475151600
6.8
Any version before 6.8
6.6.117 (semver)
6.12.58 (semver)
6.17.8 (semver)
6.18 (original_commit_for_fix)
References
git.kernel.org/...c/939c4e33005e2a56ea8fcedddf0da92df864bd3b
git.kernel.org/...c/327f89c21601ebb7889f8c97754b76f08ce95a0c
git.kernel.org/...c/b556c278d43f4707a9073ca74d55581b4f279806
git.kernel.org/...c/5c76f9961c170552c1d07c830b5e145475151600