CVE-2025-68263: ksmbd: ipc: fix use-after-free in ipc_msg_send_request
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: ipc: fix use-after-free in ipc_msg_send_request
ipc_msg_send_request() waits for a generic netlink reply using an
ipc_msg_table_entry on the stack. The generic netlink handler
(handle_generic_event()/handle_response()) fills entry->response under
ipc_msg_table_lock, but ipc_msg_send_request() used to validate and free
entry->response without holding the same lock.
Under high concurrency this allows a race where handle_response() is
copying data into entry->response while ipc_msg_send_request() has just
freed it, leading to a slab-use-after-free reported by KASAN in
handle_generic_event():
BUG: KASAN: slab-use-after-free in handle_generic_event+0x3c4/0x5f0 [ksmbd]
Write of size 12 at addr ffff888198ee6e20 by task pool/109349
...
Freed by task:
kvfree
ipc_msg_send_request [ksmbd]
ksmbd_rpc_open -> ksmbd_session_rpc_open [ksmbd]
Fix by:
- Taking ipc_msg_table_lock in ipc_msg_send_request() while validating
entry->response, freeing it when invalid, and removing the entry from
ipc_msg_table.
- Returning the final entry->response pointer to the caller only after
the hash entry is removed under the lock.
- Returning NULL in the error path, preserving the original API
semantics.
This makes all accesses to entry->response consistent with
handle_response(), which already updates and fills the response buffer
under ipc_msg_table_lock, and closes the race that allowed the UAF.
Security readout for executives and security teams
Plain-English summary
A concurrency bug in Linux ksmbd can let one kernel thread write to memory another thread just freed. This can crash a system or corrupt kernel memory. The supplied CVSS score is 9.8, but the sources do not demonstrate real-world exploitation or remote code execution. Urgency is highest for systems actively using ksmbd.
Executive priority
Treat as an urgent kernel maintenance issue for ksmbd-enabled file servers, especially where availability and kernel integrity are business-critical. Prioritize exposure verification and vendor-backed updates. Do not present active attacks or confirmed remote code execution as established facts.
Technical view
ipc_msg_send_request() validated or freed entry->response without ipc_msg_table_lock while the generic-netlink response handler filled that buffer under the lock. Under high concurrency, this creates a slab use-after-free. Stable fixes lock validation, freeing, and removal; remove the hash entry before returning the response pointer; and return NULL on error.
Likely exposure
Practical exposure depends on ksmbd being present and the affected IPC path being exercised. The bundle lists Linux 5.15, 6.1.160, 6.6.120, 6.12.62, 6.17.12, 6.18.1, and 6.19 as affected. It does not provide reliable distribution package ranges or complete backport mapping.
Exploitation context
The supplied vector indicates network access, low complexity, no privileges, and no user interaction. However, the narrative establishes only a high-concurrency race and KASAN-detected write-after-free. No cited source reports active exploitation, and the bundle marks KEV false. Reliable attacker triggering, code execution, and attacker-controlled corruption are not established.
Researcher notes
The locking inconsistency is clearly described, including the racing writer, freeing path, KASAN evidence, and synchronization fix. The supplied severity assumes severe remote impact, but the bundle lacks triggering prerequisites, exploitability analysis, package-level ranges, and evidence of attacker-controlled memory effects. Version mapping should therefore be validated through vendor backports.
Mitigation direction
Apply vendor kernel updates incorporating the applicable cited stable fix.
Check distribution guidance for backport mapping because package-level affected ranges are not provided.
Confirm the updated kernel is running after maintenance.
If patching is delayed, assess whether ksmbd is required and follow vendor-approved exposure-reduction guidance.
Validation and detection
Record the running kernel version and distribution package release on systems using ksmbd.
Determine whether ksmbd is built, loaded, configured, or actively serving SMB workloads.
Map package changelogs to a cited stable commit or documented equivalent backport.
Review kernel logs for use-after-free reports involving handle_generic_event or ipc_msg_send_request.
After updating, verify the running kernel contains the applicable fix.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-68263 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
7Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.