CVE-2026-68138: net/sched: serialize qdisc_rtab_list against concurrent get/put

Published Aug 10, 2026
·
Updated

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

net/sched: serialize qdiscrtablist against concurrent get/put

qdiscgetrtab() and qdiscputrtab() mutate the process-global singly linked list qdiscrtablist 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. clsflower sets TCFPROTOOPSDOITUNLOCKED, so tcnewtfilter() keeps rtnlheld == false for it and sets TCAACTFLAGSNORTNL. That flag propagates through tcfextsvalidateex() -> tcfactioninit() -> tcfactioninit1() -> tcfpoliceinit(), which calls qdiscgetrtab()/qdiscputrtab() with the RTNL mutex NOT held. Two RTMNEWTFILTER requests on different CPUs, each adding a flower filter with a police action carrying the same rate, then race on qdiscrtablist and on the non-atomic refcnt, leading to a use-after-free / double-free of the kmalloc-2k struct qdiscratetable. qdiscrtablist is a single global (not per-netns), so the corrupted object is shared system-wide.

BUG: KASAN: slab-use-after-free in qdiscputrtab+0x12f/0x160 qdiscputrtab+0x12f/0x160 tcfpoliceinit+0xda9/0x1590 tcfactioninit1+0x460/0x6b0 tcfactioninit+0x439/0xa40 tcfextsvalidateex+0x42d/0x550 flchange+0xddd/0x7da0 tcnewtfilter+0xaa7/0x2420 rtnetlinkrcvmsg+0x95e/0xe90 which belongs to the cache kmalloc-2k of size 2048

Protect qdiscrtablist and the refcount with a dedicated spinlock. The (sleeping, GFPKERNEL) allocation in qdiscgetrtab() 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. qdiscputrtab() now decrements the refcount and unlinks under the same lock.

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Update the kernel so qdisc_rtab_list and the non-atomic 'int refcnt' used by qdisc_get_rtab()/qdisc_put_rtab() are protected by a dedicated spinlock. This corresponds to the resolved change: “Protect qdisc_rtab_list and the refcount with a dedicated spinlock.”

    Linux kernel networking scheduler (net/sched) Protect qdisc_rtab_list and its refcount with a dedicated spinlock = enable (apply fix: use a dedicated spinlock to guard qdisc_rtab_list and refcount)
  2. Compensating control

    Serialize qdisc rate-table get/put operations against concurrent RTM_NEWTFILTER processing so concurrent callers do not mutate the shared qdisc_rtab_list/global refcount without synchronization (the issue occurs when RTNL is not held, and qdisc_get_rtab()/qdisc_put_rtab() mutate process-global state).

Event History

Aug 10, 2026
CVE Published
via MITRE·11:59 AM
Data Sourced
via MITRE·11:59 AM
Description
Data Sourced
via NVD·01:19 PM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-68138?

The severity of CVE-2026-68138 is rated at 53.

2

What systems are affected by CVE-2026-68138?

CVE-2026-68138 affects the Linux kernel due to issues with concurrent access to the qdisc_rtab_list.

3

How do I fix CVE-2026-68138?

To fix CVE-2026-68138, update your Linux kernel to the patched version that addresses the vulnerability.

4

What are the potential risks of CVE-2026-68138?

The potential risks of CVE-2026-68138 include instability in the networking subsystem due to unsafe concurrent modifications.

5

When was CVE-2026-68138 published?

CVE-2026-68138 was published on August 10, 2026.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203