{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-53794","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-12-08T23:58:35.274Z","datePublished":"2025-12-09T00:00:51.061Z","dateUpdated":"2026-08-05T09:16:01.824Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T09:16:01.824Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncifs: fix session state check in reconnect to avoid use-after-free issue\n\nDon't collect exiting session in smb2_reconnect_server(), because it\nwill be released soon.\n\nNote that the exiting session will stay in server->smb_ses_list until\nit complete the cifs_free_ipc() and logoff() and then delete itself\nfrom the list."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL"},"scenarios":[{"lang":"en","value":"AV:N - The vulnerable code is the SMB/CIFS client's reconnect worker, whose execution and timing are dictated entirely by a remote SMB peer (TCP resets, malformed PDUs, STATUS_NETWORK_SESSION_EXPIRED, stalled SMB2_LOGOFF replies, DFS referrals). A malicious/compromised file server or an on-path attacker triggers it purely over TCP/445 with no local access.\nAC:L - The attacker controls both sides of the race: it stalls the SMB2_LOGOFF response to hold the session in SES_EXITING on smb_ses_list for the full response timeout, while forcing smb2_reconnect_server() to run on demand and repeatedly (it also self-requeues every 2 seconds), making the window trivially wide and the hit near-certain.\nPR:N - No credentials or privileges on the victim system are required — the attacker is the remote server (or an on-path attacker) acting against an existing mount, and the triggering conditions are protocol-level responses that require no authenticated privilege on the client.\nUI:N - Against an already-established mount (fstab, autofs, systemd automount, container share) the attack proceeds with no victim action; the session teardown side is generated by normal client activity such as DFS referral handling and session churn that the attacker itself induces.\nS:U - The freed and reused objects (struct cifs_ses, struct cifs_tcon) and the resulting corruption all live within the kernel's own security authority, with no crossing into a hypervisor, IOMMU, or other security scope.\nC:H - A use-after-free on a heap-allocated cifs_ses/cifs_tcon lets the attacker groom the freed slab and have the reconnect path read session fields (Suid, auth_key.response, chans[], dfs_root_ses) out of attacker-influenced memory, yielding a kernel information-disclosure primitive.\nI:H - The worker writes into the freed objects — list_add_tail() stores two pointers into ses->rlist and the freed tcon_ipc->rlist, ses_count is incremented through a dangling dfs_root_ses pointer, and cifs_setup_session() writes ses_status/Suid and frees ses->auth_key.response — giving write and controlled-free primitives usable for control-flow hijack.\nA:H - The use-after-free reliably corrupts kernel memory, taking spinlocks and mutexes inside a freed allocation and corrupting list heads, which oopses or panics the machine and can hang the cifs workqueue."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/smb/client/smb2pdu.c"],"versions":[{"version":"4fcd1813e6404dd4420c7d12fb483f9320f0bf93","lessThan":"7e4f5c3f01fb0e51ca438e43262d858daf9a0a76","status":"affected","versionType":"git"},{"version":"4fcd1813e6404dd4420c7d12fb483f9320f0bf93","lessThan":"759ffc164d95a32c09528766d74d9b4fb054e8f4","status":"affected","versionType":"git"},{"version":"4fcd1813e6404dd4420c7d12fb483f9320f0bf93","lessThan":"99f280700b4cc02d5f141b8d15f8e9fad0418f65","status":"affected","versionType":"git"},{"version":"655e0c067f0e02ece03fd0591dabe3db2ae27552","status":"affected","versionType":"git"},{"version":"875cc09c0767a4ac06b57af383709657f98b3ea1","status":"affected","versionType":"git"},{"version":"599fe1409085059ba12a2c3897c853be9fa9e7cf","status":"affected","versionType":"git"},{"version":"2e4378ee60049b752c9dce16f62ce6fbd11b379a","status":"affected","versionType":"git"},{"version":"59b520454b323ec43b2ae757217332cea33091e0","status":"affected","versionType":"git"},{"version":"e20c888e2b3576e5f498c167729d274ef60b86f8","status":"affected","versionType":"git"},{"version":"4ce7aa4e44d88ce64ea8ae2337b8910f3670b0ba","status":"affected","versionType":"git"},{"version":"419fad68e4c4135ff9859e9214dd6cf954413ca1","status":"affected","versionType":"git"},{"version":"3.10.103","lessThan":"3.11","status":"affected","versionType":"semver"},{"version":"3.12.63","lessThan":"3.13","status":"affected","versionType":"semver"},{"version":"3.14.74","lessThan":"3.15","status":"affected","versionType":"semver"},{"version":"3.16.37","lessThan":"3.17","status":"affected","versionType":"semver"},{"version":"3.18.37","lessThan":"3.19","status":"affected","versionType":"semver"},{"version":"4.1.28","lessThan":"4.2","status":"affected","versionType":"semver"},{"version":"4.4.16","lessThan":"4.5","status":"affected","versionType":"semver"},{"version":"4.6.5","lessThan":"4.7","status":"affected","versionType":"semver"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/smb/client/smb2pdu.c"],"versions":[{"version":"4.7","status":"affected"},{"version":"0","lessThan":"4.7","status":"unaffected","versionType":"semver"},{"version":"6.1.47","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.4.12","lessThanOrEqual":"6.4.*","status":"unaffected","versionType":"semver"},{"version":"6.5","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.7","versionEndExcluding":"6.1.47"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.7","versionEndExcluding":"6.4.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.7","versionEndExcluding":"6.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.10.103"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.12.63"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.14.74"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.16.37"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18.37"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1.28"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.4.16"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6.5"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/7e4f5c3f01fb0e51ca438e43262d858daf9a0a76"},{"url":"https://git.kernel.org/stable/c/759ffc164d95a32c09528766d74d9b4fb054e8f4"},{"url":"https://git.kernel.org/stable/c/99f280700b4cc02d5f141b8d15f8e9fad0418f65"}],"title":"cifs: fix session state check in reconnect to avoid use-after-free issue","x_generator":{"engine":"bippy-1.2.0"}}}}