Skip to main content

Linux Kernel CVE-2026-68335

| EUVDEUVD-2026-55436 HIGH
2026-08-10 Linux GHSA-c7h5-q22g-86gx
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.0 HIGH

AC:H rather than AC:L reflects the race condition timing requirement between namespace teardown and victim socket dereference; other metrics align with vendor-assigned vector.

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.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
7.0 MEDIUM
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

5
Analysis Generated
Aug 14, 2026 - 03:07 vuln.today
CVSS changed
Aug 13, 2026 - 23:37 NVD
7.8 (HIGH)
Patch available
Aug 10, 2026 - 14:18 EUVD
CVE Published
Aug 10, 2026 - 12:03 cve.org
HIGH 7.8
CVE Published
Aug 10, 2026 - 12:03 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

rds: drop incoming messages that cross network namespace boundaries

rds_find_bound() looks up the destination socket using a global rhashtable keyed solely on (addr, port, scope_id). Network namespaces are not part of the key, so a sender in netns A can deliver an incoming message (inc) to a socket that lives in a different netns B.

When this happens, inc->i_conn points to an rds_connection whose c_net is netns A, but the receiving rs lives in netns B. Once the child process that created netns A exits, cleanup_net() calls rds_loop_exit_net() -> rds_loop_kill_conns() -> rds_conn_destroy(), freeing that connection. If the survivor socket in netns B still holds the inc, any subsequent dereference of inc->i_conn is a use-after-free.

There are two dangerous sites in rds_clear_recv_queue():

  1. inc->i_conn->c_lcong (offset 88 of freed rds_connection, size 200)

read via rds_recv_rcvbuf_delta() -- confirmed by KASAN.

  1. inc->i_conn->c_trans->inc_free(inc) (function pointer at offset 80)

called via rds_inc_put() when the inc refcount reaches zero -- same race window, potential call-through-freed-object primitive.

The bug is reachable from unprivileged user namespaces (CLONE_NEWUSER + CLONE_NEWNET), available since Linux 3.8.

Fix this by rejecting the delivery in rds_recv_incoming() when the socket returned by rds_find_bound() belongs to a different network namespace than the connection that carried the message. Use the existing rds_conn_net() / sock_net() helpers and net_eq() for the comparison.

AnalysisAI

Use-after-free in the Linux kernel RDS (Reliable Datagram Sockets) subsystem allows a local user with the ability to create unprivileged network namespaces to trigger memory corruption leading to privilege escalation. The flaw stems from rds_find_bound() performing socket lookups in a global hash table without accounting for network namespace boundaries, enabling a cross-namespace message delivery race condition where a freed rds_connection object is subsequently dereferenced. Two dangerous dereference sites have been KASAN-confirmed, including a function pointer call-through that constitutes a potential code execution primitive. No public exploit code has been identified at time of analysis, and the vulnerability is not listed in CISA KEV.

Technical ContextAI

The Linux kernel's RDS subsystem maintains a global rhashtable for socket lookup keyed solely on (addr, port, scope_id). Network namespace isolation is not encoded in the key, meaning rds_find_bound() can return a socket from netns B in response to a lookup initiated by a connection originating in netns A. When the child process owning netns A exits, cleanup_net() invokes rds_loop_exit_net() -> rds_loop_kill_conns() -> rds_conn_destroy(), which frees the rds_connection struct. If the survivor socket in netns B holds an rds_incoming (inc) with inc->i_conn pointing to the now-freed connection, two use-after-free sites exist in rds_clear_recv_queue(): a read of inc->i_conn->c_lcong at offset 88 (size 200), confirmed by KASAN; and a call through the function pointer inc->i_conn->c_trans->inc_free(inc) at offset 80, reachable via rds_inc_put() when the inc refcount reaches zero. The root cause class is CWE-416 (Use After Free), though NVD has not assigned a CWE. The attack surface exists since Linux 3.8, when CLONE_NEWUSER + CLONE_NEWNET became available to unprivileged users. Affected product scope per CPE: cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*, spanning multiple stable branches introduced at commit c809195f5523dd4d09403bbb1c9732d548aa0d1e.

RemediationAI

Upgrade to a patched stable kernel: 6.6.148, 6.12.101, 6.18.42, or 7.1.6 (production stable branches) or 7.2-rc5 (release candidate). Distribution-specific backports should be monitored via the NVD advisory at https://nvd.nist.gov/vuln/detail/CVE-2026-68335 and respective vendor security trackers. If immediate upgrade is not feasible, restrict unprivileged user namespace creation by setting kernel.unprivileged_userns_clone=0 (Debian/Ubuntu sysctl) or kernel.unprivileged_bpf_disabled alongside user_namespaces restrictions - note this may break container runtimes (Docker, Podman, LXC) that depend on unprivileged namespaces, so test in non-production first. A second compensating control is to blacklist or unload the RDS kernel module (modprobe -r rds; echo 'install rds /bin/false' > /etc/modprobe.d/disable-rds.conf) if RDS is not operationally required - this eliminates the attack surface entirely with no functional impact on environments that do not use Reliable Datagram Sockets.

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-68335 vulnerability details – vuln.today

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