CVE-2026-23074 Overview
A Use-After-Free vulnerability has been identified in the Linux kernel's net/sched traffic control subsystem. The vulnerability exists in the teql (True Equalizer Link) qdisc implementation, which fails to enforce its design constraint of only being used as a root qdisc. When teql is improperly configured as a child qdisc, specific scheduling conditions can lead to a dangling pointer access and subsequent memory corruption.
Critical Impact
This vulnerability can result in kernel memory corruption through Use-After-Free, potentially allowing privilege escalation or denial of service on affected Linux systems.
Affected Products
- Linux Kernel (multiple versions with net/sched teql support)
- Systems using QFQ (Quick Fair Queueing) with teql as child qdisc
- Network-intensive Linux deployments using traffic control configurations
Discovery Timeline
- February 4, 2026 - CVE CVE-2026-23074 published to NVD
- February 5, 2026 - Last updated in NVD database
Technical Details for CVE-2026-23074
Vulnerability Analysis
The vulnerability stems from a missing constraint check in the teql qdisc implementation. The teql (True Equalizer Link) scheduler was designed with the explicit intention of being used only as a root qdisc, but this constraint was never programmatically enforced in the kernel code.
The issue manifests in a specific scheduling scenario involving QFQ (Quick Fair Queueing) as the root qdisc with teql configured as a child class. When packets are enqueued to teql, it reports success but only updates the parent-visible queue length (sch->q.qlen) during dequeue operations. Since teql's peek operation always returns NULL, the parent QFQ scheduler never invokes dequeue, leaving the queue length incorrectly reported as zero.
This incorrect state becomes dangerous when class parameters are modified. The qfq_change_class function calls qfq_deact_rm_from_agg, which fails to properly deactivate the class due to the zero queue length. However, the function still frees internal pointers from the aggregate structure. When delayed packets from a sibling class (such as netem) are eventually processed, the freed pointers are accessed, triggering a Use-After-Free condition.
Root Cause
The root cause is the absence of validation logic to ensure teql is only instantiated as a root qdisc. The teql implementation incorrectly handles queue length accounting when used in non-root contexts, creating a state inconsistency between the actual queue contents and the reported queue depth. This architectural oversight allows the creation of invalid scheduler hierarchies that lead to memory safety violations.
Attack Vector
Exploitation requires local access to configure network traffic control settings on the system. An attacker with sufficient privileges to manipulate qdisc configurations can craft a specific hierarchy combining QFQ as root with netem (providing packet delay) and teql as child classes. The attack sequence involves:
- Creating a QFQ root qdisc with weighted child classes
- Configuring one class with netem to introduce packet delays
- Configuring another class with teql (violating design constraints)
- Sending packets to trigger the scheduling race condition
- Modifying class parameters to trigger the UAF during deactivation
The vulnerability allows manipulation of kernel memory through the dangling pointer access, potentially leading to privilege escalation or system crash.
Detection Methods for CVE-2026-23074
Indicators of Compromise
- Unexpected kernel panics or crashes related to net/sched subsystem
- Kernel log messages indicating memory corruption in traffic control code
- Unusual qdisc configurations with teql used as non-root qdisc
- System instability during network traffic control parameter modifications
Detection Strategies
- Monitor kernel logs for UAF-related KASAN reports in net/sched functions
- Audit traffic control configurations for improper teql placement using tc qdisc show
- Implement system call monitoring for setsockopt and netlink operations modifying qdisc hierarchies
- Deploy kernel integrity monitoring to detect memory corruption patterns
Monitoring Recommendations
- Enable kernel address sanitizer (KASAN) in development and testing environments
- Monitor for anomalous traffic control configuration changes via audit subsystem
- Implement alerting on kernel crashes with call traces involving qfq_ or teql_ functions
- Track privileged user activities related to network namespace and traffic control modifications
How to Mitigate CVE-2026-23074
Immediate Actions Required
- Apply the kernel patches from the official stable branches immediately
- Audit existing traffic control configurations to ensure teql is not used as a child qdisc
- Restrict access to traffic control configuration capabilities using Linux capabilities
- Consider using network namespaces to limit the blast radius of potential exploitation
Patch Information
The Linux kernel maintainers have released patches across multiple stable branches to enforce the constraint that teql can only be used as a root qdisc. The fix adds validation logic during qdisc attachment to reject configurations where teql would be instantiated as a child class.
Patches are available in the following kernel commits:
- Kernel Git Commit 0686bed
- Kernel Git Commit 16ed73c
- Kernel Git Commit 4c7e8aa
- Kernel Git Commit 50da4b9
Workarounds
- Avoid configuring teql as a non-root qdisc in any traffic control hierarchy
- Remove or replace existing teql child qdisc configurations with appropriate alternatives
- Restrict CAP_NET_ADMIN capability to trusted users and processes only
- Use alternative traffic shaping solutions that don't involve teql if root qdisc usage isn't suitable
# Configuration example
# Check for improper teql configurations
tc qdisc show | grep teql
# Remove teql if configured as child qdisc (example for interface eth0)
tc qdisc del dev eth0 parent 1:2 handle 20:
# Verify teql is only used as root qdisc
tc qdisc show dev eth0 root
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

