[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025121615-CVE-2025-68263-9c03@gregkh>
Date: Tue, 16 Dec 2025 15:45:20 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-68263: ksmbd: ipc: fix use-after-free in ipc_msg_send_request
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
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.
The Linux kernel CVE team has assigned CVE-2025-68263 to this issue.
Affected and fixed versions
===========================
Fixed in 6.12.62 with commit 5ac763713a1ef8f9a8bda1dbd81f0318d67baa4e
Fixed in 6.17.12 with commit 759c8c30cfa8706c518e56f67971b1f0932f4b9b
Fixed in 6.18.1 with commit 8229c6ca50cea701e25a7ee25f48441b582ec5fa
Fixed in 6.19-rc1 with commit 1fab1fa091f5aa97265648b53ea031deedd26235
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2025-68263
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
fs/smb/server/transport_ipc.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/5ac763713a1ef8f9a8bda1dbd81f0318d67baa4e
https://git.kernel.org/stable/c/759c8c30cfa8706c518e56f67971b1f0932f4b9b
https://git.kernel.org/stable/c/8229c6ca50cea701e25a7ee25f48441b582ec5fa
https://git.kernel.org/stable/c/1fab1fa091f5aa97265648b53ea031deedd26235
Powered by blists - more mailing lists