CVE-2026-68117
In the Linux kernel, the following vulnerability has been resolved:
tipc: clear sock->sk on the failed-insert path in tipcskcreate()
When tipcskcreate() fails to insert the new socket (tipcskinsert()
returns non-zero), its error path frees the sk with sk_free() but leaves
sock->sk pointing at the freed object:
if (tipcskinsert(tsk)) {
sk_free(sk);
pr_warn("Socket create failed; port number exhausted\n");
return -EINVAL;
}
This is harmless for plain socket(): the syscall layer clears sock->ops
before releasing, so tipc_release() is never called. It is not harmless
on the accept() path. tipc_accept() creates the pre-allocated child
socket with tipcskcreate(net, new_sock, 0, kern); on failure it leaves
newsock->sk dangling and newsock->ops non-NULL, and do_accept() then
fput()s the new file, so _sockrelease() -> tipc_release() runs
locksock(newsock->sk) on the freed sk -- a use-after-free write of the
sk_lock spinlock.
tipc_release() already guards this exact "failed accept() releases a
pre-allocated child" case with "if (sk == NULL) return 0;", but the
guard is bypassed because tipcskcreate() left sock->sk non-NULL
(dangling) rather than NULL.
Clear sock->sk on the failed-insert path so the existing tipc_release()
NULL check fires and the use-after-free is avoided.
The tipcskinsert() failure is reached when the per-netns socket
rhashtable hits its maxsize (tskrhtparams.maxsize = 1048576, ~2M
elements) -- i.e. once a netns holds ~2M TIPC sockets every insert
returns -E2BIG.
BUG: KASAN: slab-use-after-free in locksocknested (net/core/sock.c:3839)
Write of size 8 at addr ffff8880047cdc38 by task init/1
locksocknested (net/core/sock.c:3839)
tipc_release (net/tipc/socket.c:638)
_sockrelease (net/socket.c:710)
sock_close (net/socket.c:1501)
_fput (fs/filetable.c:512)
Allocated by task 1:
sk_alloc (net/core/sock.c:2308)
tipcskcreate (net/tipc/socket.c:487)
tipc_accept (net/tipc/socket.c:2744)
do_accept (net/socket.c:2034)
Freed by task 1:
_skdestruct (net/core/sock.c:2391)
tipcskcreate (net/tipc/socket.c:504)
tipc_accept (net/tipc/socket.c:2744)
do_accept (net/socket.c:2034)
Package Versions Affected
Automatically patch vulnerabilities without upgrading
CVSS Version



Related Resources
References
https://git.kernel.org/stable/c/5f5a41a48dbf9eda57b67ce23e548602cf7195a6, https://git.kernel.org/stable/c/82f59aa27f33bd014a7d8739371ab5712d15e33b, https://git.kernel.org/stable/c/8d6f26d48e61ef34f1921289401dbf36b10816af, https://git.kernel.org/stable/c/b07d87b31631edb6529e6cdcca790a7489d1250d, https://git.kernel.org/stable/c/ba0533fc163f905fe817cfabdf8ed4058da44800, https://git.kernel.org/stable/c/dd29891ed840f6b8d020b759d0dc4a00b1d6e4ea, https://git.kernel.org/stable/c/efebc23e9b29e3e5a9e2127dd066929f7f0d315e, https://git.kernel.org/stable/c/f9596b1566616a8be0592dbceccb6344a7c6f6bb, https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68117.json, https://nvd.nist.gov/vuln/detail/CVE-2026-68117, https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git