CVE-2026-68117
Received Received - Intake

Use-After-Free in Linux Kernel TIPC Socket Creation

Vulnerability report for CVE-2026-68117, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-10

Last updated on: 2026-08-19

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: tipc: clear sock->sk on the failed-insert path in tipc_sk_create() When tipc_sk_create() fails to insert the new socket (tipc_sk_insert() returns non-zero), its error path frees the sk with sk_free() but leaves sock->sk pointing at the freed object: if (tipc_sk_insert(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 tipc_sk_create(net, new_sock, 0, kern); on failure it leaves new_sock->sk dangling and new_sock->ops non-NULL, and do_accept() then fput()s the new file, so __sock_release() -> tipc_release() runs lock_sock(new_sock->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 tipc_sk_create() 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 tipc_sk_insert() failure is reached when the per-netns socket rhashtable hits its max_size (tsk_rht_params.max_size = 1048576, ~2M elements) -- i.e. once a netns holds ~2M TIPC sockets every insert returns -E2BIG. BUG: KASAN: slab-use-after-free in lock_sock_nested (net/core/sock.c:3839) Write of size 8 at addr ffff8880047cdc38 by task init/1 lock_sock_nested (net/core/sock.c:3839) tipc_release (net/tipc/socket.c:638) __sock_release (net/socket.c:710) sock_close (net/socket.c:1501) __fput (fs/file_table.c:512) Allocated by task 1: sk_alloc (net/core/sock.c:2308) tipc_sk_create (net/tipc/socket.c:487) tipc_accept (net/tipc/socket.c:2744) do_accept (net/socket.c:2034) Freed by task 1: __sk_destruct (net/core/sock.c:2391) tipc_sk_create (net/tipc/socket.c:504) tipc_accept (net/tipc/socket.c:2744) do_accept (net/socket.c:2034)

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-10
Last Modified
2026-08-19
Generated
2026-08-30
AI Q&A
2026-08-10
EPSS Evaluated
2026-08-29
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux_kernel tipc *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in the Linux kernel involves a use-after-free issue in the TIPC (Transparent Inter-Process Communication) module. When tipc_sk_create() fails to insert a new socket, it frees the socket but leaves a dangling pointer in sock->sk. This can lead to a use-after-free write when tipc_release() is called on the freed memory during an accept() operation.

Detection Guidance

This vulnerability is specific to the TIPC protocol in the Linux kernel and occurs when the per-netns socket rhashtable reaches its max size (~2M elements). Detection requires checking for TIPC socket exhaustion or use-after-free errors in kernel logs. Monitor for 'Socket create failed; port number exhausted' warnings in system logs. Check if TIPC sockets are nearing the limit with commands like 'ss -tulnp | grep tipc' or 'ip link show | grep tipc'. Look for KASAN reports indicating slab-use-after-free in lock_sock_nested.

Impact Analysis

This vulnerability could allow an attacker to execute arbitrary code or cause a denial of service by triggering the use-after-free condition. It specifically affects systems using TIPC sockets when the per-netns socket limit (~2M sockets) is reached, causing socket creation to fail and leading to the memory corruption.

Compliance Impact

This vulnerability is a use-after-free write in the Linux kernel's TIPC socket handling. It does not directly relate to data privacy or security controls required by GDPR or HIPAA. Compliance with these standards typically involves data protection measures, access controls, and breach notification, which are unaffected by this kernel-level socket issue.

Mitigation Strategies

Apply the Linux kernel patch that resolves this issue by clearing sock->sk on the failed-insert path in tipc_sk_create(). Update to a kernel version containing the fix. If updating is not immediately possible, consider disabling the TIPC module if not in use with 'modprobe -r tipc' or blacklisting it. Monitor system logs for signs of exploitation or socket exhaustion.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-68117. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart