Skip to main content

Linux Kernel CVE-2026-68138

| EUVDEUVD-2026-55519 HIGH
2026-08-10 Linux GHSA-5w39-288f-6m96
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

Race condition requires precise concurrent timing, warranting AC:H over AC:L; PR:L reflects CAP_NET_ADMIN obtainable via unprivileged network namespace; full C/I/A impact from kernel-level use-after-free.

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
7.0 HIGH
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/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

4
Analysis Generated
Aug 14, 2026 - 01:37 vuln.today
CVSS changed
Aug 13, 2026 - 23:37 NVD
7.8 (HIGH)
CVE Published
Aug 10, 2026 - 11:59 cve.org
UNKNOWN (no severity yet)
CVE Published
Aug 10, 2026 - 11:59 cve.org
HIGH 7.8

DescriptionCVE.org

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

net/sched: serialize qdisc_rtab_list against concurrent get/put

qdisc_get_rtab() and qdisc_put_rtab() mutate the process-global singly linked list qdisc_rtab_list and a plain non-atomic 'int refcnt' with no lock. This was only safe because every caller historically held the RTNL mutex, which serialized all rate-table lookups, inserts and frees.

That invariant no longer holds. cls_flower sets TCF_PROTO_OPS_DOIT_UNLOCKED, so tc_new_tfilter() keeps rtnl_held == false for it and sets TCA_ACT_FLAGS_NO_RTNL. That flag propagates through tcf_exts_validate_ex() -> tcf_action_init() -> tcf_action_init_1() -> tcf_police_init(), which calls qdisc_get_rtab()/qdisc_put_rtab() with the RTNL mutex NOT held. Two RTM_NEWTFILTER requests on different CPUs, each adding a flower filter with a police action carrying the same rate, then race on qdisc_rtab_list and on the non-atomic refcnt, leading to a use-after-free / double-free of the kmalloc-2k struct qdisc_rate_table. qdisc_rtab_list is a single global (not per-netns), so the corrupted object is shared system-wide.

BUG: KASAN: slab-use-after-free in qdisc_put_rtab+0x12f/0x160 qdisc_put_rtab+0x12f/0x160 tcf_police_init+0xda9/0x1590 tcf_action_init_1+0x460/0x6b0 tcf_action_init+0x439/0xa40 tcf_exts_validate_ex+0x42d/0x550 fl_change+0xddd/0x7da0 tc_new_tfilter+0xaa7/0x2420 rtnetlink_rcv_msg+0x95e/0xe90 which belongs to the cache kmalloc-2k of size 2048

Protect qdisc_rtab_list and the refcount with a dedicated spinlock. The (sleeping, GFP_KERNEL) allocation in qdisc_get_rtab() is performed before taking the lock; if a concurrent inserter added an identical table in the meantime the freshly allocated one is freed under the lock, so no duplicate is leaked. qdisc_put_rtab() now decrements the refcount and unlinks under the same lock.

AnalysisAI

Use-after-free in the Linux kernel net/sched subsystem allows local, low-privileged attackers to corrupt kernel heap memory or escalate privileges by racing concurrent RTM_NEWTFILTER netlink requests against an unprotected global rate-table list. The flaw arises because cls_flower's TCF_PROTO_OPS_DOIT_UNLOCKED flag causes tcf_police_init() to call qdisc_get_rtab()/qdisc_put_rtab() without the RTNL mutex, exposing the process-global qdisc_rtab_list and a non-atomic refcnt to concurrent mutation across CPUs. EPSS is low at 0.16% (6th percentile) and the vulnerability does not appear in CISA KEV, but the kernel-level use-after-free impact and the system-wide scope of the corrupted object demand prompt patching.

Technical ContextAI

The Linux kernel's Quality of Service traffic control (tc) framework uses qdisc_rtab_list, a process-global singly linked list, to manage rate tables (struct qdisc_rate_table, kmalloc-2k) for the tcf_police action classifier. All historical callers of qdisc_get_rtab() and qdisc_put_rtab() held the RTNL (rtnetlink) mutex, providing implicit serialization. The cls_flower (flower classifier) module introduced TCF_PROTO_OPS_DOIT_UNLOCKED, which causes tc_new_tfilter() to set rtnl_held=false and propagate TCA_ACT_FLAGS_NO_RTNL through the call chain tcf_exts_validate_ex() → tcf_action_init() → tcf_action_init_1() → tcf_police_init(), where rate-table operations now execute without the mutex. Because qdisc_rtab_list is not per-network-namespace and the reference counter is a plain non-atomic int, two CPUs simultaneously processing RTM_NEWTFILTER requests for flower filters with police actions carrying the same rate race on both the list linkage and the refcount, producing a use-after-free and double-free of the kmalloc-2k allocation. A KASAN slab-use-after-free trace is included in the commit description confirming the exact crash path. The upstream fix introduces a dedicated spinlock protecting all list mutations and refcount decrements, with the GFP_KERNEL allocation moved before the lock acquisition to avoid sleeping under spin while still preventing duplicate table leaks.

RemediationAI

Apply the upstream stable-tree fixes available at https://git.kernel.org/stable/c/fb29e1b41052488ee3f2d115d4a870497ebd7f7d and https://git.kernel.org/stable/c/f43ee0c0730d6191629b5ee1ceae27b1ebfdc047, or upgrade to Linux kernel 7.1.6 or a release incorporating these commits (7.2-rc5 is confirmed to include the fix per EUVD data). Monitor distribution vendors for backported stable updates. Where immediate patching is not feasible, disabling unprivileged user namespace creation via sysctl kernel.unprivileged_userns_clone=0 raises the privilege bar for exploitation but will break container runtimes such as rootless Podman and some browser sandboxes - evaluate operational impact before applying. Blacklisting the cls_flower kernel module (cls_flower.ko) via /etc/modprobe.d eliminates the vulnerable code path entirely but will disrupt network policy enforcement in environments using Open vSwitch or Kubernetes CNI plugins that depend on flower classification; this trade-off makes it suitable only for hosts where flower filtering is not in use. Restricting RTM_NEWTFILTER netlink access through seccomp-bpf policies on specific workloads is a more surgical control with minimal side effects.

Vendor StatusVendor

SUSE

Severity: Important
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-68138 vulnerability details – vuln.today

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