Skip to main content

Linux Kernel CVE-2026-68117

| EUVDEUVD-2026-55498 CRITICAL
2026-08-10 Linux GHSA-qmxc-qv48-vp67
Critical
Disputed · 9.8 Vendor: Linux
Share

Severity by source

Sources disagree (Medium–Critical)
Vendor (Linux) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.0 HIGH

Local accept()-path UAF requiring ~2M-socket table exhaustion, so AV:L and AC:H; socket creation with raised resource limits gives PR:L; memory corruption enables DoS and possible LPE, so C/I/A:H.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
5.3 MEDIUM
AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H
Red Hat
7.0 MEDIUM
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: Linux

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 14, 2026 - 02:18 vuln.today
CVSS changed
Aug 13, 2026 - 23:37 NVD
9.8 (CRITICAL)
Patch available
Aug 10, 2026 - 14:18 EUVD
CVE Published
Aug 10, 2026 - 11:58 cve.org
CRITICAL 9.8
CVE Published
Aug 10, 2026 - 11:58 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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)

AnalysisAI

Use-after-free in the Linux kernel's TIPC (Transparent Inter-Process Communication) subsystem lets a local actor trigger a write to freed slab memory via the accept() error path of tipc_sk_create(). When socket insertion into the per-netns rhashtable fails, sock->sk is left dangling instead of NULLed, so tipc_release() bypasses its own NULL guard and calls lock_sock() on the freed sk. It affects kernels using the AF_TIPC protocol across many stable branches (fixes backported to 5.4.x through 6.18.x and mainline 7.x); there is no public exploit identified at time of analysis and it is not in CISA KEV, with a low EPSS of 0.18%.

Technical ContextAI

TIPC is a cluster/datagram messaging protocol implemented as a loadable kernel module (net/tipc/socket.c). Each network namespace maintains a socket rhashtable bounded by tsk_rht_params.max_size = 1048576 (~2M elements). The root cause is a classic use-after-free (CWE-416): the failed-insert branch of tipc_sk_create() calls sk_free(sk) but does not reset sock->sk to NULL. On the accept() path, tipc_accept() pre-allocates a child socket; if the child's insert fails, do_accept() fput()s the new file, driving __sock_release() -> tipc_release(), which then executes lock_sock_nested() against the already-freed sk - a slab-use-after-free write of the sk_lock spinlock, as captured by the KASAN report. The CPE data identifies the affected component only generically as cpe:2.3:a:linux:linux, so exact vulnerable surface must be read from the kernel version ranges rather than the CPE.

RemediationAI

Patch available per vendor advisory - upgrade to a fixed kernel for your branch (e.g., 6.6.148, 6.12.101, 6.18.42, or mainline 7.1.6+/7.2-rc5), which adds the one-line fix clearing sock->sk on the failed-insert path so tipc_release()'s existing NULL check fires. The corresponding upstream stable commits are at https://git.kernel.org/stable/c/b07d87b31631edb6529e6cdcca790a7489d1250d, https://git.kernel.org/stable/c/dd29891ed840f6b8d020b759d0dc4a00b1d6e4ea, https://git.kernel.org/stable/c/5f5a41a48dbf9eda57b67ce23e548602cf7195a6, https://git.kernel.org/stable/c/f9596b1566616a8be0592dbceccb6344a7c6f6bb, and https://git.kernel.org/stable/c/ba0533fc163f905fe817cfabdf8ed4058da44800. If immediate patching is not possible, disable and blacklist the TIPC module (add 'install tipc /bin/true' or blacklist tipc in modprobe.d, and unload with rmmod tipc) since TIPC is rarely used in typical deployments; the trade-off is loss of any cluster IPC that depends on AF_TIPC. As a secondary control, keep per-user file-descriptor/ulimit and RLIMIT resource limits tight to make reaching the ~2M-socket table exhaustion impractical for unprivileged users, at the cost of constraining legitimate high-FD workloads.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-68117 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy