KernelScan.io

HIGH

net/sched ActCt UAF

CVE-2026-23270

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI6.6MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: net/sched: Only allow act_ct to bind to clsact/ingress qdiscs and shared blocks As Paolo said earlier [1]: "Since the blamed commit below, classify can return TC_ACT_CONSUMED while the current skb being held by the defragmentation engine. As reported by GangMin Kim, if such packet is that may cause a UaF when the defrag engine later on tries to tuch again such packet." act_ct was never meant to be used in the egress path, however some users are attaching it to egress today [2]. Attempting to reach a middle ground, we noticed that, while most qdiscs are not handling TC_ACT_CONSUMED, clsact/ingress qdiscs are. With that in mind, we address the issue by only allowing act_ct to bind to clsact/ingress qdiscs and shared blocks. That way it's still possible to attach act_ct to egress (albeit only with clsact). [1] https://lore.kernel.org/netdev/674b8cbfc385c6f37fb29a1de08d8fe5c2b0fbee.1771321118.git.pabeni@redhat.com/ [2] https://lore.kernel.org/netdev/cc6bfb4a-4a2b-42d8-b9ce-7ef6644fb22b@ovn.org/

02

Engine v0.2.0

Risk summary

Systems with act_ct Traffic Control actions attached to egress qdiscs are vulnerable to use-after-free when processing out-of-order IP fragments. This can lead to kernel memory corruption, crashes, or potential privilege escalation. The vulnerability requires CAP_NET_ADMIN privileges to configure but can then be triggered remotely via fragmented packets.

Affectednet/sched/act_ct.c (Traffic Control)

Vulnerability analysis

The root cause is act_ct returning TC_ACT_CONSUMED while the defragmentation engine holds references to socket buffers, creating a use-after-free condition when fragments arrive out of order. Most qdiscs don't properly handle TC_ACT_CONSUMED, leading to premature packet freeing. The fix restricts act_ct to only bind with clsact/ingress qdiscs and shared blocks that correctly handle TC_ACT_CONSUMED. Attack surface includes any system with misconfigured TC rules where act_ct is attached to egress paths, reachable via network-sourced fragmented IP packets.

03

BranchFixed inPatch commit
5.155.15.203bc4e5bb52982
6.16.1.167fb3c380a54e3
6.126.12.77380ad8b7c65e
6.186.18.189deda0fcda5c
6.196.19.811cb63b0d1a0
6.66.6.1305a110ddcc99b
6.86.8524ce8b4ea8f
mainline7.0