CVE-2026-23074CWE-416CWE-825

CVE-2026-23074

High · published February 4, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
4.5
In the wild
Unconfirmed
What it is

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

net/sched: Enforce that teql can only be used as root qdisc

Design intent of teql is that it is only supposed to be used as root qdisc.

We need to check for that constraint.

Although not important, I will describe the scenario that unearthed this

issue for the curious.

GangMin Kim <[email protected]> managed to concot a scenario as follows:

ROOT qdisc 1:0 (QFQ)

├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s

└── class 1:2 (weight=1, lmax=1514) teql

GangMin sends a packet which is enqueued to 1:1 (netem).

Any invocation of dequeue by QFQ from this class will not return a packet

until after 6.4s. In the meantime, a second packet is sent and it lands on

1:2. teql's enqueue will return success and this will activate class 1:2.

Main issue is that teql only updates the parent visible qlen (sch->q.qlen)

at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's

peek always returns NULL), dequeue will never be called and thus the qlen

will remain as 0. With that in mind, when GangMin updates 1:2's lmax value,

the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's

qlen was not incremented, qfq fails to deactivate the class, but still

frees its pointers from the aggregate. So when the first packet is

rescheduled after 6.4 seconds (netem's delay), a dangling pointer is

accessed causing GangMin's causing a UAF.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00157 · 4.5th percentile
Weaknesses
CWE-416 · Use After Free; CWE-825 · Expired Pointer Dereference
Published
2026-02-04T22:16Z
Affected products (17)
ProductVersionsFixed in
linux/linux_kernel≥ 2.6.12.1, < 5.10.2495.10.249
linux/linux_kernel≥ 5.11, < 5.15.1995.15.199
linux/linux_kernel≥ 5.16, < 6.1.1626.1.162
linux/linux_kernel≥ 6.2, < 6.6.1226.6.122
linux/linux_kernel≥ 6.7, < 6.12.686.12.68
linux/linux_kernel≥ 6.13, < 6.18.86.18.8
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (19)
https://git.kernel.org/stable/c/0686bedfed34155520f3f735cbf3210cb9044380 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/16ed73c1282d376b956bff23e5139add061767ba · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/4c7e8aa71c9232cba84c289b4b56cba80b280841 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/50da4b9d07a7a463e2cfb738f3ad4cff6b2c9c3b · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/73d970ff0eddd874a84c953387c7f4464b705fc6 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/ae810e6a8ac4fe25042e6825d2a401207a2e41fb · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/dad49a67c2d817bfec98e6e45121b351e3a0202c · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://access.redhat.com/errata/RHSA-2026:3083 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:3110 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:3268 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:3277 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:3360 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:3388 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:3634 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:3685 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/errata/RHSA-2026:3810 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://access.redhat.com/security/cve/CVE-2026-23074 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://bugzilla.redhat.com/show_bug.cgi?id=2436791 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46chttps://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-23074.json · 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
EPSS history
Timeline
  • 04 FEB 16:07Z
    net/sched: Enforce that teql can only be used as root qdisc
    cvelistv5