Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-53011

CVE-2026-53011: Linux Kernel Use-After-Free Vulnerability

CVE-2026-53011 is a use-after-free flaw in the Linux kernel's taprio scheduler that occurs during schedule switching in advance_sched(). This article covers the technical details, affected versions, security impact, and mitigation.

Published:

CVE-2026-53011 Overview

CVE-2026-53011 is a use-after-free vulnerability in the Linux kernel's net/sched subsystem, specifically in the Time-Aware Priority (taprio) qdisc scheduler. The flaw resides in the advance_sched() function, which handles schedule transitions in the taprio packet scheduler used for IEEE 802.1Qbv time-sensitive networking (TSN).

When should_change_schedules() returns true, switch_schedules() promotes the admin schedule to operational and queues the previous operational schedule for RCU freeing. However, the local next pointer still references an entry inside the freed schedule, leading to subsequent writes against memory that has been released.

Critical Impact

A use-after-free in kernel network scheduling code can lead to memory corruption, kernel crashes, and potentially local privilege escalation on systems using the taprio qdisc.

Affected Products

  • Linux kernel versions containing the taprio qdisc implementation in net/sched/sch_taprio.c
  • Distributions shipping affected stable kernel branches prior to the backported fixes
  • Systems using Time-Aware Priority scheduling for TSN workloads

Discovery Timeline

  • 2026-06-24 - CVE-2026-53011 published to NVD
  • 2026-06-24 - Last updated in NVD database

Technical Details for CVE-2026-53011

Vulnerability Analysis

The taprio qdisc implements time-aware traffic shaping per IEEE 802.1Qbv. It maintains two schedules: an operational (oper) schedule actively gating traffic, and an administrative (admin) schedule staged for future activation. The advance_sched() function is invoked by an hrtimer at each gate transition to advance to the next entry or switch to the staged schedule.

The vulnerability occurs during the schedule switch path. After switch_schedules() reassigns oper to point at the former admin schedule, the old oper schedule is handed off to call_rcu() for deferred release. The local variable next was computed before the switch and still references an entry within the now-stale schedule. The function then performs next->end_time = end_time and rcu_assign_pointer(q->current_entry, next), both of which operate on memory pending RCU release [CWE-416].

Root Cause

The defect is an ordering bug: next is selected from the outgoing schedule before the schedule switch and is never recomputed against the newly promoted schedule. A secondary issue compounds the flaw — the assignment end_time = sched_base_time(admin) overwrites the new first entry's pre-calculated end_time with just the base_time, producing incorrect gate timing even when memory safety is not violated.

Attack Vector

Exploitation requires the ability to install or manipulate taprio qdisc configurations on a network interface, which typically demands CAP_NET_ADMIN privileges. A local attacker with this capability can trigger repeated schedule switches by submitting admin schedules with crafted base times. The race between the hrtimer-driven advance_sched() callback and the RCU grace period creates the window for use-after-free access to freed schedule entries. The vulnerability does not expose a remote attack surface absent network-administrative privileges.

No public proof-of-concept exploit is available, and the EPSS probability is low.

Detection Methods for CVE-2026-53011

Indicators of Compromise

  • Kernel oops or panic messages referencing advance_sched, switch_schedules, or sch_taprio.c in dmesg and /var/log/kern.log.
  • KASAN reports flagging use-after-free reads or writes within taprio schedule entry structures.
  • Unexpected reboots or NIC transmit stalls on interfaces running taprio with frequent schedule replacements.

Detection Strategies

  • Enable KASAN on test and staging kernels to catch use-after-free access in advance_sched() during taprio workload validation.
  • Audit tc qdisc configurations across hosts to identify systems using taprio and prioritize them for patching.
  • Monitor for unprivileged or unexpected invocations of tc qdisc replace/change commands targeting taprio schedules.

Monitoring Recommendations

  • Centralize kernel logs and alert on stack traces containing taprio symbols or RCU-related warnings.
  • Track use of CAP_NET_ADMIN and netlink RTM_NEWQDISC operations via auditd or eBPF telemetry.
  • Correlate kernel crash events with prior network configuration changes to identify exploitation attempts.

How to Mitigate CVE-2026-53011

Immediate Actions Required

  • Apply the upstream kernel patches referenced in the stable tree commits (0e62171, 105425b, 1bd286f, 3471874, 7256996, a8fc396, b73235d, eee072f).
  • Inventory hosts using the taprio qdisc and schedule kernel updates from the distribution vendor.
  • Restrict CAP_NET_ADMIN to trusted administrators and service accounts only.

Patch Information

The fix selects next from the newly promoted operational schedule immediately after switch_schedules() and uses its pre-calculated end_time set by setup_first_end_time() when the schedule was installed. The harmful end_time = sched_base_time(admin) assignment is removed. Apply the kernel updates referenced above or upgrade to a distribution kernel that incorporates these backports.

Workarounds

  • Avoid loading or using the sch_taprio module on systems that do not require time-aware traffic shaping; blacklist with modprobe.d configuration.
  • Limit netlink qdisc configuration to root and audited administrative tooling; do not grant CAP_NET_ADMIN to general user namespaces.
  • Reduce the frequency of taprio admin schedule replacements until patches can be deployed.
bash
# Verify whether taprio is in use on any interface
tc qdisc show | grep -i taprio

# Blacklist the sch_taprio module if not required
echo 'blacklist sch_taprio' | sudo tee /etc/modprobe.d/blacklist-taprio.conf
sudo update-initramfs -u

# Restrict unprivileged user namespaces (limits CAP_NET_ADMIN exposure)
sudo sysctl -w kernel.unprivileged_userns_clone=0

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.