CVE-2025-68263

ksmbd: ipc: fix use-after-free in ipc_msg_send_request

State
Published
Severity
9.8 Critical
Published
Dec 16, 2025
Updated
Oct 15, 2026
Reserved
Dec 16, 2025

Read the record on cve.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.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 0626e6641f6b467447c81dd7678a69c66f7746cf to before de85fb58f9967ba024bb08e0041613d37b57b4d1Affected
  • 0626e6641f6b467447c81dd7678a69c66f7746cf to before 708a620b471a14466f1f52c90bf3f65ebdb31460Affected
  • 0626e6641f6b467447c81dd7678a69c66f7746cf to before 5ac763713a1ef8f9a8bda1dbd81f0318d67baa4eAffected
  • 0626e6641f6b467447c81dd7678a69c66f7746cf to before 759c8c30cfa8706c518e56f67971b1f0932f4b9bAffected
  • 0626e6641f6b467447c81dd7678a69c66f7746cf to before 8229c6ca50cea701e25a7ee25f48441b582ec5faAffected
  • 0626e6641f6b467447c81dd7678a69c66f7746cf to before 1fab1fa091f5aa97265648b53ea031deedd26235Affected
LinuxLinux
  • 5.15Affected
  • before 5.15Not affected
  • 6.1.160 through 6.1.*Not affected
  • 6.6.120 through 6.6.*Not affected
  • 6.12.62 through 6.12.*Not affected
  • 6.17.12 through 6.17.*Not affected
  • 6.18.1 through 6.18.*Not affected
  • 6.19 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.