{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-50086","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2024-10-21T19:36:19.942Z","datePublished":"2024-10-29T00:50:29.284Z","dateUpdated":"2026-08-05T11:41:31.690Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T11:41:31.690Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: fix user-after-free from session log off\n\nThere is racy issue between smb2 session log off and smb2 session setup.\nIt will cause user-after-free from session log off.\nThis add session_lock when setting SMB2_SESSION_EXPIRED and referece\ncount to session struct not to free session while it is being used."}],"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 - ksmbd is the in-kernel SMB server processing attacker-supplied SMB2 PDUs on TCP/445 (or RDMA), so the entire race is driven by remote network traffic. No local access to the target is required.\nAC:L - The attacker controls both sides of the race — one pipelined SMB2 request holds the raw `work->sess` pointer while a second concurrently issued SMB2_SESSION_SETUP drives `ksmbd_expire_session()` into `kfree(sess)` — and each PDU is dispatched to a separate workqueue item, so the race can be replayed indefinitely and widened with compound/large requests.\nPR:N - No credentials are needed: `__session_create()` leaves a session `SMB2_SESSION_IN_PROGRESS` and `smb2_sess_setup()`'s error path marks it `SMB2_SESSION_EXPIRED`, both of which `ksmbd_expire_session()` frees, while the concurrent work item still dereferences `work->sess` in `smb3_preauth_hash_rsp()`/`set_sign_rsp()` after `ksmbd_conn_unlock()`. The logoff variant needs only an ordinary (including guest-mapped) SMB session.\nUI:N - The attacker triggers everything by sending SMB2 requests to the listening ksmbd server; no action by any local user or administrator is involved.\nS:U - The corruption and its consequences stay within the kernel's own security authority on the SMB server host, with no crossing of a VM, sandbox, or IOMMU boundary.\nC:H - After the free, `set_sign_rsp()` HMACs the response with `sess->smb3signingkey` read from reclaimed slab memory and returns the result to the attacker, and `sess->file_table`/`sess->tree_conns` lookups on freed xarrays yield attacker-influenced pointers, enabling disclosure of arbitrary kernel memory.\nI:H - `smb3_preauth_hash_rsp()` writes a 64-byte SHA-512 result through the `Preauth_HashValue` pointer read out of the freed object, giving a controlled kernel write once the slab is sprayed; the freed `file_table`/`tree_conns`/`user` fields additionally allow type confusion and control-flow hijacking.\nA:H - Even without successful exploitation the use-after-free dereferences freed slab memory and corrupts the allocator, producing kernel oopses and panics that take down the SMB server host, and it can be retriggered at will."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/smb/server/mgmt/user_session.c","fs/smb/server/mgmt/user_session.h","fs/smb/server/server.c","fs/smb/server/smb2pdu.c"],"versions":[{"version":"0626e6641f6b467447c81dd7678a69c66f7746cf","lessThan":"0f62358ce85b2d4c949ef1b648be01b29cec667a","status":"affected","versionType":"git"},{"version":"0626e6641f6b467447c81dd7678a69c66f7746cf","lessThan":"a9839c37fd813b432988f58a9d9dd59253d3eb2c","status":"affected","versionType":"git"},{"version":"0626e6641f6b467447c81dd7678a69c66f7746cf","lessThan":"5511999e9615e4318e9142d23b29bd1597befc08","status":"affected","versionType":"git"},{"version":"0626e6641f6b467447c81dd7678a69c66f7746cf","lessThan":"ee371898b53a9b9b51c02d22a8c31bfb86d45f0d","status":"affected","versionType":"git"},{"version":"0626e6641f6b467447c81dd7678a69c66f7746cf","lessThan":"7aa8804c0b67b3cb263a472d17f2cb50d7f1a930","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/smb/server/mgmt/user_session.c","fs/smb/server/mgmt/user_session.h","fs/smb/server/server.c","fs/smb/server/smb2pdu.c"],"versions":[{"version":"5.15","status":"affected"},{"version":"0","lessThan":"5.15","status":"unaffected","versionType":"semver"},{"version":"5.15.171","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.114","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.58","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.11.5","lessThanOrEqual":"6.11.*","status":"unaffected","versionType":"semver"},{"version":"6.12","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":"5.15","versionEndExcluding":"5.15.171"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"6.1.114"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"6.6.58"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"6.11.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15","versionEndExcluding":"6.12"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/0f62358ce85b2d4c949ef1b648be01b29cec667a"},{"url":"https://git.kernel.org/stable/c/a9839c37fd813b432988f58a9d9dd59253d3eb2c"},{"url":"https://git.kernel.org/stable/c/5511999e9615e4318e9142d23b29bd1597befc08"},{"url":"https://git.kernel.org/stable/c/ee371898b53a9b9b51c02d22a8c31bfb86d45f0d"},{"url":"https://git.kernel.org/stable/c/7aa8804c0b67b3cb263a472d17f2cb50d7f1a930"}],"title":"ksmbd: fix user-after-free from session log off","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.8,"attackVector":"LOCAL","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"id":"CVE-2024-50086","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2025-04-25T14:30:09.987767Z"}}}],"problemTypes":[{"descriptions":[{"lang":"en","type":"CWE","cweId":"CWE-416","description":"CWE-416 Use After Free"}]}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2025-04-25T14:36:34.763Z"}},{"title":"CVE Program Container","references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"}],"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2025-11-03T22:25:18.791Z"}}]}}