Skip to main content

Linux Kernel CVE-2026-68338

| EUVDEUVD-2026-55439 HIGH
2026-08-10 Linux GHSA-xrw5-g7cv-c5p3
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 reflects the required race window between packet_set_ring and NETDEV_UNREGISTER; PR:L captures the CAP_NET_RAW requirement; full C/I/A:H for kernel-level impact.

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
5.5 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:05 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:

net/packet: avoid fanout hook re-registration after unregister

packet_set_ring() temporarily detaches a socket from packet delivery while reconfiguring its ring. It records the previous running state, clears po->num, unregisters the protocol hook when needed, drops po->bind_lock, and later restores po->num and re-registers the hook from the saved was_running value.

That unlocked window can race with NETDEV_UNREGISTER. The notifier can observe the socket as not running, skip __unregister_prot_hook(), and invalidate the per-socket binding by setting po->ifindex to -1 and clearing po->prot_hook.dev. A one-member fanout group can still retain its shared fanout hook device pointer. When packet_set_ring() resumes, re-registering solely from the stale was_running state can re-add the fanout hook after the device has been unregistered.

Treat po->ifindex == -1 as an invalidated binding after reacquiring po->bind_lock. This is distinct from ifindex 0, the normal unbound/wildcard state: ifindex -1 marks an existing device binding that was invalidated when the device was unregistered. Restore po->num as before, but do not re-register the hook if device unregister already detached the socket.

AnalysisAI

Race condition in the Linux kernel net/packet subsystem allows a local low-privileged attacker to re-register a fanout protocol hook after its associated network device has been unregistered, potentially corrupting kernel state and achieving privilege escalation. Affected systems are those running unpatched kernel versions prior to the stable-branch fixes across the 6.6, 6.12, 6.18, 7.1, and 7.2 release trees. No public exploit code and no CISA KEV listing exist at time of analysis, and the EPSS score of 0.21% (11th percentile) reflects low current exploitation activity.

Technical ContextAI

The vulnerability resides in the AF_PACKET raw socket subsystem (net/packet), specifically within packet_set_ring(), which reconfigures the memory-mapped ring buffer for a packet socket. During reconfiguration, the function temporarily releases po->bind_lock after recording was_running and unregistering the protocol hook. This unlocked window creates a TOCTOU race with the NETDEV_UNREGISTER kernel notifier path: if a network device is removed during this window, the notifier may skip __unregister_prot_hook() (observing the socket as not running), then invalidate the socket's device binding by setting po->ifindex to -1 and clearing po->prot_hook.dev. A one-member fanout group can still hold a stale fanout hook device pointer. When packet_set_ring() reacquires the lock and re-registers based solely on the stale was_running flag, it re-adds the fanout hook referencing an already-freed or unregistered device structure. The fix distinguishes po->ifindex == -1 (binding explicitly invalidated by device removal) from ifindex 0 (unbound/wildcard), and skips hook re-registration when invalidation has occurred. CPE: cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*. CWE classification is not formally assigned, but the root cause class is a TOCTOU race condition with use of invalidated pointer/state (analogous to CWE-362 and CWE-416).

RemediationAI

The primary fix is to upgrade to a patched Linux kernel version: 6.6.148 or later for the 6.6 LTS branch, 6.12.101 or later for the 6.12 LTS branch, 6.18.42 or later for the 6.18 branch, or 7.1.6 or later for the 7.1 branch, all available via upstream stable commits at https://git.kernel.org/stable/c/. For systems where an immediate kernel upgrade is not feasible, a compensating control is to restrict the ability to create AF_PACKET sockets by removing CAP_NET_RAW from unprivileged users and containers - for example, setting sysctl net.core.bpf_jit_harden=2 hardens related kernel paths but does not block this specific race; instead, removing CAP_NET_RAW via seccomp profiles, capability-dropping in container runtimes (Docker --cap-drop=NET_RAW), or restricting /proc/sys/net/core access reduces exploitable surface significantly. The trade-off is that CAP_NET_RAW removal breaks tcpdump and raw socket tooling for non-root users. There is no configuration-based workaround that eliminates the race entirely short of patching the kernel. Patch status: vendor-released patches confirmed across multiple stable branches.

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

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