This tracker is no longer updated. Every maintained upstream stable line carries the fix, as do Debian, Proxmox VE 9, every tracked NixOS ref, and all three Amazon Linux 2023 kernel streams. The rows left vulnerable are Rocky Linux and the rest of the RHEL family, which Red Hat lists as affected with no fix yet, and Proxmox VE 8, which reached end of life in August 2026 without the fix.
Summary
| Field | Detail |
|---|---|
| CVE ID | CVE-2026-68138 |
| Alias | None — neither the kernel CNA record nor the public PoC gives it a nickname |
| Component | Kernel: net/sched rate-table management — the process-global qdisc_rtab_list and the non-atomic refcount mutated by qdisc_get_rtab() / qdisc_put_rtab() (net/sched/sch_api.c) |
| Type | Race condition → use-after-free / double-free of a struct qdisc_rate_table (a 1056-byte object from kmalloc-2k) |
| Impact | Kernel heap corruption reachable locally and weaponised to local privilege escalation to root — a public exploit (aramosf/CVE-2026-68138) escalates an unprivileged user to root. Also a repeatable KASAN slab-UAF / double-free that panics the kernel (DoS) |
| Upstream fix | f43ee0c0730d (net/sched: serialize qdisc_rtab_list against concurrent get/put); first in v7.2-rc5, backported to every maintained stable line (7.1.6 through 5.10.266 — see Linux kernel rows below). Adds a dedicated qdisc_rtab_lock spinlock |
| Introduced | 470502de5bdb (net: sched: unlock rules update API) in v5.1 — the unlocked classifier path that lets cls_flower reach qdisc_get_rtab()/qdisc_put_rtab() without the RTNL mutex. The rate-table code is older, but the race only became reachable here |
| Affected window | 5.1 through 7.1.5 (and 7.2 before -rc5) without the fix. Fixed in v7.2-rc5 and now backported to every maintained stable line (7.1.6, 6.18.46, 6.12.105, 6.6.153, 6.1.184, 5.15.217, 5.10.266) — per-branch First fixed below |
| Discoverer | A. Ramos (@aramosf) — research and public exploit |
| Public disclosure | 2026-08-10 (CVE published by the kernel CNA); PoC repository published 2026-08-12 |
| Public PoC | Yes — a complete working exploit. aramosf/CVE-2026-68138 ships exploit.c, escalating uid=1000 to root in the initial namespace; the author reports it reproduced against Ubuntu 22.04 GA (5.15.0-187) |
| KEV / EPSS / CVSS | Kernel CNA CVSS 3.1 7.8 HIGH (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H); Red Hat’s record matches it at 7.8, revised from an initial 7.0 (AC:H). NVD carries the CNA score (status Received, no independent analysis yet). Not in KEV; EPSS ~0.28%. See Scoring below |
| Reachability | A local trigger only. It needs the cls_flower classifier and act_police action (both autoload on a tc … flower … action police command), at least two CPUs to win the race, and CAP_NET_ADMIN in a network namespace. An unprivileged user obtains that with unshare -Urn where unprivileged user namespaces are enabled; a process or container already holding CAP_NET_ADMIN reaches it directly. The vulnerable code is built into every kernel with CONFIG_NET_SCHED — there is no “module not present” escape |
⚠️ A local root exploit is public and the RHEL family will not be patched. The fix ships in every maintained upstream stable line (mainline, 7.2, 7.1, 6.18, 6.12, 6.6, 6.1, 5.15, and 5.10). Debian’s sid, forky, trixie, and bookworm carry it, the nixpkgs
masterandrelease-26.05development branches have rebased onto the fixed 6.18 build, all five tracked NixOS channels (nixos-unstable,nixos-unstable-small,nixpkgs-unstable,nixos-26.05,nixos-26.05-small) have republished it, all three Amazon Linux 2023 kernel streams have shipped it (ALAS2023-2026-2106, ALAS2023-2026-2107, ALAS2023-2026-2110), and Proxmox VE 9 has shipped it inproxmox-kernel-7.0. Debian’s bullseye (EOL), every Ubuntu, Proxmox VE 8, and Rocky/RHEL had no fix when this tracker was archived (2026-09-22). Red Hat lists RHEL 8, 9 and 10 as affected, with no fix yet. Treat any multi-tenant or container host where unprivileged users or containers can reachCAP_NET_ADMINas directly exposed, and prioritise the mitigations below until a patched kernel is available.
How the exploitation chain works
qdisc_get_rtab() and qdisc_put_rtab() manage a single process-global
singly linked list, qdisc_rtab_list, and a plain non-atomic int refcnt
on each struct qdisc_rate_table. That was only ever safe because every
caller held the RTNL mutex, which serialised all rate-table lookups,
inserts, and frees.
That invariant broke when the classifier-update path was unlocked. Since
cls_flower sets TCF_PROTO_OPS_DOIT_UNLOCKED, 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 table, then race on qdisc_rtab_list and on the
non-atomic refcount:
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
The corrupted object is a ~1056-byte struct qdisc_rate_table from the
kmalloc-2k slab, and because qdisc_rtab_list is a single global (not
per-netns), the
damage is shared system-wide. From that use-after-free / double-free the
public exploit builds a five-stage chain to root:
- Win the race. Worker threads in separate network namespaces install
flower filters with police actions carrying identical rates, racing
qdisc_get_rtab()/qdisc_put_rtab()until the rate table is freed with a dangling reference still live. - Reclaim the freed object. A classic-BPF filter program whose
instruction buffer lands in
kmalloc-2kreoccupies the freed rate-table slot with attacker-controlled bytes. - Leak. The alias is turned into a
pipe_bufferdisclosure, leaking live kernel pointers (apageand anopspointer). - Overwrite. A forged, mergeable pipe buffer appends attacker bytes to
the page-cache page backing
/sbin/modprobe. - Root. Opening a socket with an unsupported protocol triggers a
module-load, running the overwritten
modprobeas root.
The fix, f43ee0c0730d, protects qdisc_rtab_list and the
refcount with a dedicated qdisc_rtab_lock spinlock. The sleeping
GFP_KERNEL allocation in qdisc_get_rtab() is done before the lock is
taken; if a concurrent inserter added an identical table meanwhile, the
freshly allocated one is freed under the lock, so no duplicate leaks.
ℹ️ The race began at v5.1, not with the rate-table code itself.
qdisc_get_rtab()/qdisc_put_rtab()are far older, but they were safe as long as every caller held the RTNL mutex. The unlocked classifier path (470502de5bdb, v5.1) is what letcls_flowerreach them concurrently — so a kernel whosenet/schedpredates that path is genuinely not affected, while every maintained line from 5.1 onward is in-window until it carries the fix.
Vulnerable commit range
| Commit | Role | Description |
|---|---|---|
470502de5bdb | Introduced | net: sched: unlock rules update API (v5.1, 2019) — makes cls_flower TCF_PROTO_OPS_DOIT_UNLOCKED, so tcf_police_init() can reach qdisc_get_rtab()/qdisc_put_rtab() without RTNL, exposing the unlocked global list + refcount to a race. |
f43ee0c0730d | Fixed | net/sched: serialize qdisc_rtab_list against concurrent get/put — adds a dedicated qdisc_rtab_lock spinlock around the list and the refcount; first released in v7.2-rc5, backported to stable 7.1.6 as fb29e1b41052. |
The reachable window runs from v5.1 through v7.1.5 (and 7.2 before
-rc5). A kernel is safe only by carrying the fix, or by predating the
v5.1 unlocked-classifier path.
Patch status
A row is Fixed only if its kernel carries the
f43ee0c0730d / fb29e1b41052 fix — a release at or
past its branch’s first-fixed version, or an explicit distro backport.
Every maintained upstream stable line now carries the fix (see the Linux
kernel rows), including the new 7.2.x stable branch, which was cut
after the fix had already landed and so has carried it since its first
release. Debian’s sid, forky, trixie, and bookworm
have rebased onto it, the nixpkgs master and release-26.05 development
branches have rebased onto the fixed 6.18 build, all five tracked NixOS
channels have republished it, all three Amazon Linux 2023 kernel
streams have shipped it via ALAS2023-2026-2106, ALAS2023-2026-2107, and
ALAS2023-2026-2110, and Proxmox VE 9’s proxmox-kernel-7.0 has
shipped its cherry-pick; only Proxmox VE 8 and the Rocky Linux / RHEL
family remain Vulnerable.
The first group is the upstream kernel;
the rest are a focused set of x86-64 distributions, with per-distribution
detail in the sections
that follow. First fixed and Fixed since are — for a row that is
not fixed.
| Distribution | Release | Current kernel | First fixed | Fixed since | Status |
|---|---|---|---|---|---|
| Linux kernel | mainline | 7.3-rc4 | 7.2-rc5 | 2026-07-26 | ✅ Fixed — carries f43ee0c0730d |
| Linux kernel | 7.2.x | 7.2.7 | 7.2 | 2026-08-16 | ✅ Fixed |
| Linux kernel | 7.1.x | 7.1.13 (EOL) | 7.1.6 | 2026-08-03 | ✅ Fixed |
| Linux kernel | 6.18.x | 6.18.53 | 6.18.46 | 2026-08-23 | ✅ Fixed |
| Linux kernel | 6.12.x | 6.12.111 | 6.12.105 | 2026-08-23 | ✅ Fixed |
| Linux kernel | 6.6.x | 6.6.157 | 6.6.153 | 2026-08-23 | ✅ Fixed |
| Linux kernel | 6.1.x | 6.1.188 | 6.1.184 | 2026-08-23 | ✅ Fixed |
| Linux kernel | 5.15.x | 5.15.221 | 5.15.217 | 2026-08-23 | ✅ Fixed |
| Linux kernel | 5.10.x | 5.10.270 | 5.10.266 | 2026-08-23 | ✅ Fixed |
| Debian | sid (unstable) | 7.2.6-1 | 7.1.6-1 | 2026-08-04 | ✅ Fixed |
| Debian | forky (testing) | 7.1.13-1 | 7.1.6-1 | 2026-08-07 | ✅ Fixed |
| Debian | 13 (trixie) | 6.12.107-1 | 6.12.105-1 | 2026-08-25 | ✅ Fixed |
| Debian | 12 (bookworm) | 6.1.187-1 | 6.1.187-1 | 2026-09-08 | ✅ Fixed |
| Proxmox VE | 9 (default) | 7.0.14-19-pve | 7.0.14-15-pve | 2026-08-26 | ✅ Fixed |
| Proxmox VE | 8 (default) | 6.8.12-43-pve | — | — | ❌ Vulnerable — EOL 2026-08 |
| NixOS | master | 6.18.53 | 6.18.46 | 2026-08-23 | ✅ Fixed |
| NixOS | release-26.05 | 6.18.53 | 6.18.46 | 2026-08-23 | ✅ Fixed |
| NixOS | Unstable | 6.18.53 | 6.18.46 | 2026-08-27 | ✅ Fixed |
| NixOS | Unstable (small) | 6.18.53 | 6.18.46 | 2026-08-24 | ✅ Fixed |
| NixOS | Unstable (nixpkgs) | 6.18.53 | 6.18.46 | 2026-08-25 | ✅ Fixed |
| NixOS | 26.05 | 6.18.52 | 6.18.46 | 2026-08-24 | ✅ Fixed |
| NixOS | 26.05 (small) | 6.18.53 | 6.18.46 | 2026-08-24 | ✅ Fixed |
| Rocky Linux / RHEL | 10 | 6.12.0-211.56.1.el10_2.0.1 | — | — | ❌ Vulnerable — no RHSA |
| Rocky Linux / RHEL | 9 | 5.14.0-687.49.1.el9_8 | — | — | ❌ Vulnerable — no RHSA |
| Rocky Linux / RHEL | 8 | 4.18.0-553.164.1.el8_10 | — | — | ❌ Vulnerable — no RHSA |
| Amazon Linux | 2023 (default) | 6.1.186-228.376 | 6.1.182-227.379 | 2026-08-31 | ✅ Fixed — ALAS2023-2026-2107 |
| Amazon Linux | 2023 (6.12 opt-in) | 6.12.103-129.197 | 6.12.103-127.188 | 2026-08-31 | ✅ Fixed — ALAS2023-2026-2110 |
| Amazon Linux | 2023 (6.18 opt-in) | 6.18.48-109.150 | 6.18.44-99.149 | 2026-08-31 | ✅ Fixed — ALAS2023-2026-2106 |
Linux kernel
The fix reached mainline in v7.2-rc5 and has been backported to every maintained stable and long-term line; 7.2.x has carried it from its first release.
7.1.x is end of life. Every release from 7.1.6 on carries the fix, but the line gets no further updates — move to 7.2.x or a long-term line.
Debian
bookworm’s opt-in 6.12 kernel is the separate linux-6.12 source
package. Its newest build, 6.12.107-1~deb12u1, is past the 6.12
line’s first fix but was still held in Debian’s NEW queue when this
tracker was archived (2026-09-22), so no host could install it and the
opt-in remained vulnerable.
bullseye (Debian 11) left LTS support on 2026-08-31 and is out of Debian’s security support entirely. Its last kernel stays unpatched — upgrade to bookworm or trixie.
The vulnerable path relies on the cls_flower and act_police
modules, which Debian ships and autoloads on demand; no default
configuration blocks them.
Proxmox VE
Proxmox ships its own Ubuntu-derived kernels, so Debian’s status does
not carry over. PVE 9’s default proxmox-kernel-7.0 carries a named
cherry-pick of the fix.
- PVE 8 reached end of life in August 2026 without the fix. Its
default
proxmox-kernel-6.8carries nonet/schedcherry-pick, and Ubuntu marks every 6.8 kernel needed — upgrade to PVE 9. - Older opt-in and preview series that PVE 9 and PVE 8 still
publish, such as
proxmox-kernel-6.17andproxmox-kernel-6.14, ride unpatched Ubuntu bases. A host booting one should move to PVE 9’s default kernel.
NixOS
Every NixOS channel and branch in the table defaults to
linux_6_18 (linuxPackages), which carries the fix. nixpkgs also
pins linux_7_2, linux_6_1, linux_5_15 and linux_5_10 at fixed
releases, so a host overriding the default is fixed too, as long as it
tracks a ref that picked up the 2026-08-23 bumps.
Kernel updates land on nixpkgs master first and reach each channel
once its Hydra jobset passes, so a channel can sit a few days behind
master. The -small channels (nixos-unstable-small,
nixos-26.05-small) run a reduced jobset and pick up kernel updates
fastest.
Which ref a flake input follows:
github:NixOS/nixpkgs/nixos-unstableandgithub:NixOS/nixpkgs/nixos-26.05follow those channels — the GitHub channel branches are updated to exactly the published channel pins.- A bare
github:NixOS/nixpkgswith no ref followsmaster, andgithub:NixOS/nixpkgs/release-26.05follows that branch. Both are ungated development branches — they carry a kernel bump as soon as it lands, often a day or more before a channel publishes it. - A bare
nixpkgsregistry input resolves by default to thenixpkgs-unstablechannel: a separate channel aimed at Nix on other operating systems, not gated on the NixOS tests.
Rocky Linux / RHEL family
RHEL-family kernels are long-lived forks that carry the vulnerable
net/sched path, so EL10, EL9 and EL8 are all affected. RHEL 6 and 7
are not affected: their 2.6.32 / 3.10 kernels predate the v5.1 path.
Red Hat’s record lists RHEL 8, 9 and 10 as affected with no fix
available and no RHSA; only RHEL 8’s kernel-rt is marked “Will not
fix”. Red Hat scopes the impact to a system-wide denial of service,
with no mention of privilege escalation.
Until an RHSA ships, the practical response on EL hosts is the mitigations below — in particular restricting unprivileged user namespaces, which several EL deployments already do.
Rocky Linux, AlmaLinux, CloudLinux and Oracle Linux’s Red Hat Compatible Kernel rebuild RHEL’s kernel, so their status follows Red Hat’s: they get the fix as they rebuild Red Hat’s advisories.
Amazon Linux
The three AL2023 streams are the default kernel package (6.1 line)
and the opt-in kernel6.12 and kernel6.18 packages. Each stream’s
fixed build sits below its line’s upstream first fix, because Amazon
backports fixes into its own builds — judge an AL2023 kernel by its
ALAS, not its version number.
Amazon Linux 2 reached end of support on 2026-06-30 — migrate to AL2023.
Detection
Is the running kernel in the affected window and missing the fix? Every kernel from v5.1 up to the fixed releases is in-window. Compare the running kernel against the Patch status table’s First fixed column for its series — every maintained upstream line now has one, so a distro kernel below its line’s first-fixed version (and without its own backport) is still vulnerable:
uname -r
Can an unprivileged user reach CAP_NET_ADMIN? The unprivileged local
path in the public exploit needs unprivileged user namespaces. If both of
these are non-zero, an ordinary user can unshare -Urn into a namespace
where it holds CAP_NET_ADMIN:
sysctl kernel.unprivileged_userns_clone user.max_user_namespaces
Are the classifier and action modules available? The race needs
cls_flower and act_police, which autoload on a matching tc command.
modinfo takes several module names and prints the on-disk path of each
(an error for any that is absent):
modinfo -F filename cls_flower act_police
Is this a multi-tenant or container host? Any context where an
unprivileged user, or a container holding CAP_NET_ADMIN (for example one
run with --cap-add=NET_ADMIN or a privileged pod), can issue tc
commands is directly exposed, regardless of the user-namespace sysctls:
grep -rEl 'CAP_NET_ADMIN|NET_ADMIN|privileged' /etc/containers /etc/kubernetes 2>/dev/null
Public PoC
There is a public working exploit. aramosf/CVE-2026-68138
ships exploit.c, a self-contained program that escalates an unprivileged
user (uid=1000) to root in the initial namespace by driving the qdisc
race and the five-stage chain described above. The author reports it
reproduced against Ubuntu 22.04 GA (5.15.0-187) in a VM, and that the
vulnerable code is present in Ubuntu 22.04 HWE, 24.04, and 26.04 kernels
(with the specific chain tuned for the 5.15 target).
The exploit needs a fairly specific environment — x86-64, at least four
vCPUs, unprivileged user and network namespaces enabled, the
NET_CLS_FLOWER / NET_CLS_ACT / NET_ACT_POLICE config options,
roughly 5 GiB of RAM, and a per-process file-descriptor limit of at least
4096 — but those are ordinary defaults on many desktop and server
kernels. A working exploit being public means this should be treated as
exploited-in-practice, not theoretical: patch or apply the mitigations
below.
Mitigation
The real fix is a patched kernel (a release at or past 7.2-rc5 /
7.1.6, or a distro backport of f43ee0c0730d). Until one is
installed, the exposure can be narrowed — none of these is a fix.
Restrict unprivileged user namespaces
The unprivileged local path depends on user namespaces to obtain
CAP_NET_ADMIN. Where unprivileged user namespaces are not needed,
disabling them closes that path (it does not stop a process or
container that already holds CAP_NET_ADMIN). On Debian/Ubuntu kernels:
sudo sysctl -w kernel.unprivileged_userns_clone=0
Persist it across reboots:
echo 'kernel.unprivileged_userns_clone = 0' | sudo tee /etc/sysctl.d/99-cve-2026-68138.conf
On kernels without that Debian/Ubuntu knob, cap the count instead:
sudo sysctl -w user.max_user_namespaces=0
Block the classifier and action modules
Where tc flower filtering with a police action is not used, blocking the
modules removes the datapath — including for a privileged or container
caller, which the user-namespace knob does not. install … /bin/false is
surer than a plain blacklist, which only suppresses alias autoloading:
printf 'install cls_flower /bin/false\ninstall act_police /bin/false\n' | sudo tee /etc/modprobe.d/cve-2026-68138.conf
That rule only prevents future autoload — it does not remove a module already resident. Where the modules are loaded but idle, unload them so the block takes effect now:
sudo modprobe -r act_police cls_flower
A module that is genuinely in use cannot be unloaded, and on a host
actively running tc flower+police you could not block it without breaking
that service — so there the rule has no effect until the workload stops (or
a reboot with the rule already in place). It is likewise inert if either
module is built into the kernel (=y) rather than loadable; the modinfo
check above prints a .ko path only for a loadable module.
Only do this where flower-based traffic control is genuinely unused; some container networking, QoS, and SDN stacks rely on it and must fall back to the other measures.
Restrict who holds CAP_NET_ADMIN
On multi-tenant and container hosts, review which workloads are granted
CAP_NET_ADMIN: drop it from container capability sets that do not need
it, avoid privileged containers, and keep untrusted workloads out of
namespaces where they can run tc. This shrinks the reachable surface but
leaves a trusted-but-hostile caller in scope.
Risk notes
- Multi-tenant and container hosts are the exposure. The demonstrated
impact is local privilege escalation to root, so any host where an
unprivileged user or a container can reach
CAP_NET_ADMINand runtcis directly in scope — a public exploit exists. - The RHEL family is the gap. The fix reaches every maintained
upstream stable line. Debian’s sid, forky, trixie, and
bookworm have rebased onto it, as have the nixpkgs
masterandrelease-26.05branches and all five tracked NixOS channels that republish them, all three Amazon Linux 2023 kernel streams have shipped it, and Proxmox VE 9 has shipped its cherry-pick, but Proxmox VE 8 and the Rocky Linux / RHEL family had no fix when this tracker was archived (2026-09-22). Check the First fixed column, not the kernel’s age. - No Red Hat fix yet. RHEL 8, 9 and 10 are listed as affected with no fix available, so EL hosts should rely on the mitigations rather than waiting for an RHSA.
- No “module not present” escape. Unlike some kernel CVEs, the
vulnerable code is core
net/sched(built in withCONFIG_NET_SCHED); onlycls_flower/act_policeare modules, and they autoload on demand. Reachability turns onCAP_NET_ADMINand user namespaces, not on whether a module is already loaded.
Verification log
Every verdict in the table above is backed by a checkable source. This log records the provenance — the git reference, advisory, or repository index that established each fact — so any row can be audited or reproduced. Most readers never need it.
Full verification log
Upstream
The fix is
f43ee0c0730d(net/sched: serialize qdisc_rtab_list against concurrent get/put), first released in v7.2-rc5 (git describe --contains→v7.2-rc5~27^2~47, tag date 2026-07-26, via~/src/linux/stable/~/src/linux/net). It adds a dedicatedqdisc_rtab_lockspinlock aroundqdisc_rtab_listand the refcount.The race was introduced by
470502de5bdb(net: sched: unlock rules update API) in v5.1 (describe --contains→v5.1-rc1~178^2~254^2, commit date 2019-02-12) — the unlocked classifier-update path. Kernels whosenet/schedpredates it are not affected.CVE-2026-68138 assigned by the kernel CNA (via
vulns.gitorigin/master,cve/published/2026/CVE-2026-68138.{json,dyad,cvss}):- The record keys on
f43ee0c0730d6191629b5ee1ceae27b1ebfdc047. - The
.dyadlists a vulnerable:fixed pair for every maintained line, including the 7.2 branch:5.1 → 7.2,5.1 → 7.1.6,5.1 → 6.18.46,5.1 → 6.12.105,5.1 → 6.6.153,5.1 → 6.1.184,5.1 → 5.15.217, and5.1 → 5.10.266.
- The record keys on
7.2.x stable branch (
origin/linux-7.2.yin~/src/linux/stable):- Its base tag
v7.2(2026-08-16) already containsf43ee0c0730d:git describe --contains f43ee0c0730dresolves tov7.2-rc5~27^2~47, well beforev7.2. - A bounded subject grep (
v7.2..origin/linux-7.2.y) finds no separate cherry-pick; none is needed, as the branch has carried the fix since its first release.
- Its base tag
Stable backports (subject grep against
~/src/linux/stable, each bounded tov<series>..origin/linux-<series>.y):linux-7.1.y:fb29e1b41052, released 7.1.6 (tag date 2026-08-03). The branch reached end-of-life with its final release,Linux 7.1.13(commit date 2026-09-02 per~/src/linux/stable), which postdates the fix.linux-6.18.y:8ddc2eb0d2da, released 6.18.46 (tag date 2026-08-23).linux-6.12.y:d981098b7675, released 6.12.105 (tag date 2026-08-23).linux-6.6.y:4131dd0b6f67, released 6.6.153 (tag date 2026-08-23).linux-6.1.y:f93c89392bd3, released 6.1.184 (tag date 2026-08-23).linux-5.15.y:6e0241f6cbb1, released 5.15.217 (tag date 2026-08-23).linux-5.10.y:1b050d09dd1a, released 5.10.266 (tag date 2026-08-23).
All six LTS backports landed in the same 2026-08-23 stable batch. The
Linux kernelrows’ Current kernel cells are read from kernel.org’sfinger_banner.
Scoring
- Kernel CNA (
vulns.git.cvss/.json,origin/master): CVSS 3.1 7.8 HIGH (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H).AV:Lbecause the trigger is localRTM_NEWTFILTERrtnetlink messages;PR:Lbecause the non-GET rtnetlink handler needsCAP_NET_ADMIN, which an unprivileged user obtains namespaced viaunshare -Urn. - Red Hat (CSAF/VEX, initial release 2026-08-10, current release
2026-09-22):
- CVSS 3.1 7.8 (
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), impact Important. - The initial record scored 7.0 (
AC:H, for the race window) with impact Moderate. - The VEX carries no free-text statement; its description scopes the impact to a system-wide denial of service, with no mention of privilege escalation.
- Base-
kernelremediation isnone_available(“Affected”) for RHEL 8, 9 and 10; only RHEL 8’skernel-rtisno_fix_planned(“Will not fix”). - Across 275 products, 16 are will-not-fix, 217 affected, and 42
vulnerable_code_not_present.
- CVSS 3.1 7.8 (
- NVD / EPSS / KEV: NVD record status Received (its listed CVSS 3.1 mirrors the CNA score rather than an independent NVD assessment); published 2026-08-10, last modified 2026-08-23; no CWE assigned. EPSS ~0.28% (~20th percentile, via api.first.org); not in CISA KEV.
Distributions
- Debian (security tracker
data/json,linuxsource package,scope: local):- sid resolved fixed; the tracker’s fixed version for unstable is
7.1.6-1(the 7.1 branch’s first-fixed release), first seen in the archive 2026-08-04 per snapshot.debian.org. - forky (testing) resolved fixed; testing’s default
linux-image-amd64moved from the vulnerable7.1.3-1to7.1.6-1on 2026-08-07, per snapshot.debian.org’sdists/testingindex. - trixie resolved fixed; the tracker’s fixed version is
6.12.105-1(the 6.12 branch’s first-fixed release), shipped as atrixie-securityupdate, first seen in the archive 2026-08-25 per snapshot.debian.org. - bookworm resolved,
fixed_version6.1.187-1, first seen in the archive 2026-09-08 per snapshot.debian.org. bookworm-securityjumped straight from6.1.180-1to6.1.187-1with no intermediate build (snapshot.debian.org package-version history).6.1.187-1’s.orig.tar.xzrepacks the upstream6.1.187release, past the 6.1 branch’s6.1.184first fix.- The bookworm
linux-6.12opt-in source package has no separate tracker entry. - ftp-master madison shows only
NEW-queue builds oflinux-6.12for bookworm, the newest6.12.107-1~deb12u1(past the 6.12 branch’s6.12.105first fix), and none inbookworm-backports, so no fixed build has shipped. - bullseye is absent from the tracker’s
releasesmap forlinux(checked across every CVE, not just this one); its LTS window closed 2026-08-31. madison?package=linux&s=bullseye-securityreturns no entries.- The stable suites’ Current kernel values are the
<suite>-securityentries under the tracker’srepositories; sid’s and forky’s come from ftp-master madison.
- sid resolved fixed; the tracker’s fixed version for unstable is
- Ubuntu (ubuntu.com/security/CVE-2026-68138.json, used for the
Proxmox base;
~/src/linux/stablefor the upstream-line check):resolute: pending, with a fix version (7.0.0-38.38) named but unpublished at archival (2026-09-22).noble,jammyandfocal(and the HWE stacks): needed — no fixed binary package and no USN.bionic/xenial/trusty: not-affected (pre-5.1).- The feed’s “upstream: released” entry also cites
6.8.y,6.17.y, and7.0.yalongside7.2-rc5. - A direct read of
net/sched/sch_api.conorigin/linux-6.8.y,-6.17.y, and-7.0.y(all frozen at their final release, noqdisc_rtab_lock) shows none of the three carries the fix, so that entry is not a fix path for the Proxmox rows below.
- Proxmox VE (
~/src/proxmox/pve-kernel, pve-no-subscriptionPackages.gz): the default series areproxmox-kernel-7.0(PVE 9) andproxmox-kernel-6.8(PVE 8); their Current kernel builds are read from the pve-no-subscriptionPackages.gz.- PVE 9:
origin/master’sdebian/changelognames CVE-2026-68138 among the cherry-picked CVEs for the7.0.14-15build (changelog entry dated 2026-08-26);7.0.14-15-pvehas since reachedpve-no-subscription, so the row is Fixed. - PVE 8:
origin/bookworm-6.8’s changelog entries through6.8.12-43do not name CVE-2026-68138, noqdisc_rtabpatch appears inpatches/kernel/, and Ubuntu marks every 6.8 kernel needed, so neither the named-cherry-pick nor the silent-rebase path has shipped the fix. - PVE 8 reached end of life in 2026-08 (Proxmox VE FAQ lifecycle table, pve.proxmox.com/wiki/FAQ), after this tracker was seeded.
- PVE 9:
- NixOS (
~/src/nixos/nixpkgs; branch refs from the clone, channels via theirgit-revisionpins;git log -Sonkernels-org.json):packageAliases.linux_default = linux_6_18at every tracked ref.masterandrelease-26.05bumped to the fixed 6.18.46 on 2026-08-23:cac0c1ef61abon master,fc15ce23e0c6on release-26.05.- Fixed since for the channels is resolved via
scripts/nixos-first-shipped, againstcac0c1ef61abfor the unstable family andfc15ce23e0c6for 26.05. nixos-unstable(gated on the full NixOS jobset rather than the reduced-smallone) republished 6.18.46 last of the five: 2026-08-27.nixos-unstable-small: 2026-08-24.nixpkgs-unstable: 2026-08-25.nixos-26.05andnixos-26.05-small: 2026-08-24.- Each row’s Current kernel is the
6.18versionkernels-org.jsonresolves at that ref. linux_7_1was removed from nixpkgs as end-of-life upstream;linux_7_2(fixed) replaced it, but neither is the default.- On both
origin/masterandorigin/release-26.05,kernels-org.jsonpins 6.1.188, 5.15.221 and 5.10.270, past those lines’ first fixes. - Both branches took the 6.1.184 / 5.15.217 / 5.10.266 bumps on
2026-08-23: master
959aed65cce9/407fdbae11c8/bbd159869b2a, release-26.05cd3c770e7aef/e6bb633e47fc/3a54d6d90178.
- Rocky / RHEL family (Red Hat’s CSAF/VEX record
security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-68138.json, initial release 2026-08-10; Rocky BaseOS repodata; OSV):- RHEL 8/9/10 are
known_affected. - Remediation is
none_availablefor RHEL 8/9/10kernel— novendor_fix, no RHSA. - RHEL 6/7 and OCP4 are
known_not_affected(vulnerable_code_not_present). - The Rocky rows’ Current kernel NVRs are read from BaseOS
primary.xml.gz, highestrel. - No AlmaLinux erratum (OSV).
- RHEL 8/9/10 are
- Amazon Linux (AL2023
updateinfo.xml.gz/primary.xml.gz/other.xml.gz,x86_64mirror):- ALAS2023-2026-2107 (Important, 2026-08-31) fixes the default
kernelstream at6.1.182-227.379.amzn2023. - ALAS2023-2026-2110 (Important, 2026-08-31) fixes
kernel6.12at6.12.103-127.188.amzn2023. - ALAS2023-2026-2106 (Important, 2026-08-31) fixes
kernel6.18at6.18.44-99.149.amzn2023. - The
other.xml.gzchangelog of thekernel6.186.18.44-99.149build lists thenet/sched: serialize qdisc_rtab_listcherry-pick. - Per-stream Current kernel values are read from
primary.xml.gz(highestver/rel).
- ALAS2023-2026-2107 (Important, 2026-08-31) fixes the default
References
| Source | URL |
|---|---|
| Public PoC (A. Ramos) | https://github.com/aramosf/CVE-2026-68138 |
| Kernel fix (v7.2-rc5) | https://git.kernel.org/stable/c/f43ee0c0730d6191629b5ee1ceae27b1ebfdc047 |
| Stable backport (7.1.6) | https://git.kernel.org/stable/c/fb29e1b41052488ee3f2d115d4a870497ebd7f7d |
| Introducing commit (v5.1) | https://git.kernel.org/stable/c/470502de5bdb1ed0def643a4458593a40b8f6b66 |
| CVE-2026-68138 | https://www.cve.org/CVERecord?id=CVE-2026-68138 |
| NVD entry | https://nvd.nist.gov/vuln/detail/CVE-2026-68138 |
| Debian security tracker | https://security-tracker.debian.org/tracker/CVE-2026-68138 |
| Ubuntu CVE tracker | https://ubuntu.com/security/CVE-2026-68138 |
| Red Hat security data | https://access.redhat.com/security/cve/CVE-2026-68138 |
| Amazon Linux ALAS | https://alas.aws.amazon.com/ |
| stable point release banner | https://www.kernel.org/finger_banner |