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

net/sched: Handle TC_ACT_REDIRECT from qdisc filter chains

When a TC filter attached to a qdisc filter chain returns
TC_ACT_REDIRECT (ex: via an eBPF program calling bpf_redirect() or an
act_bpf action), the redirect was silently lost i.e no qdisc classify
function handled TC_ACT_REDIRECT, so the packet fell through the
switch and was enqueued normally instead of being redirected.

This has been broken since bpf_redirect() was introduced for TC in
commit 27b29f63058d ("bpf: add bpf_redirect() helper"). We got lucky
for a long time because bpf_net_context was a per-CPU variable that
was always available.

commit 401cb7dae813 ("net: Reference bpf_redirect_info via task_struct
on PREEMPT_RT.") turned bpf_net_context into a task_struct member that
is only set up by explicit callers. Without a caller setting it up,
bpf_redirect() itself crashes with a NULL pointer dereference in
bpf_net_ctx_get_ri(). However, even with bpf_net_context available,
TC_ACT_REDIRECT from qdisc filter chains cannot be honored without
adding skb_do_redirect() calls to every qdisc classify function, which
would require changes across net/sched/. Isolate it to ebpf core where
it belongs.

Instead, add a tcf_classify_qdisc() inline helper in pkt_cls.h, as a
wrapper around tcf_classify() for use by qdisc classify functions and
tcf_qevent_handle(). When the classify verdict is TC_ACT_REDIRECT,
the wrapper converts it to TC_ACT_SHOT, dropping the packet rather
than letting it continue silently. Dropping is preferred over
letting the packet through because the user immediately sees packet
loss. Silently passing the packet through would hide the problem and
leave the user wondering why their redirect is not working.

The clsact fast path, tc_run() continues to call tcf_classify() directly
and is unaffected: TC_ACT_REDIRECT is returned as-is and handled by
sch_handle_egress/ingress() calling skb_do_redirect() as before.
Published: 2026-08-12
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel’s net/sched subsystem mishandles TC_ACT_REDIRECT actions originating from eBPF programs or qdisc filters. When such an action is returned, the redirect is silently discarded and the packet continues to the default queue, or in newer kernel versions the missing bpf_net_context can cause a null‑pointer dereference that crashes the kernel. This defect leads to packets not being redirected as intended and can result in a local denial‑of‑service when an attacker injects a malicious eBPF program that triggers TC_ACT_REDIRECT. The weakness stems from improper null‑pointer handling in the classification flow.

Affected Systems

This vulnerability is present in all Linux kernels that include the net/sched framework and eBPF integration, meaning any system running a recent kernel is potentially affected. There are no vendor‑specific version constraints listed, so the issue applies to the entire Linux operating system across distributions.

Risk and Exploitability

The EPSS score is less than 1 % and the CVE is not listed in the CISA KEV catalog, indicating a low likelihood of widespread exploitation. The CVSS score of 5.5 points to moderate severity. However, the flaw can be triggered by a local attacker who can load an eBPF program that returns TC_ACT_REDIRECT, which would cause a kernel crash and disrupt system availability. The vulnerability is best mitigated by applying the kernel patch that drains packets when a TC_ACT_REDIRECT is received instead of silently forwarding them.

Generated by OpenCVE AI on August 13, 2026 at 13:44 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the fix for TC_ACT_REDIRECT handling in net/sched.
  • Audit any eBPF programs or qdisc filters on the system that may return TC_ACT_REDIRECT and remove or modify them to avoid the redirect action until a kernel update is applied.
  • As a temporary measure, consider disabling eBPF programs that use bpf_redirect or disabling the affected qdisc filters until the patch is installed.

Generated by OpenCVE AI on August 13, 2026 at 13:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 13 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Wed, 12 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net/sched: Handle TC_ACT_REDIRECT from qdisc filter chains When a TC filter attached to a qdisc filter chain returns TC_ACT_REDIRECT (ex: via an eBPF program calling bpf_redirect() or an act_bpf action), the redirect was silently lost i.e no qdisc classify function handled TC_ACT_REDIRECT, so the packet fell through the switch and was enqueued normally instead of being redirected. This has been broken since bpf_redirect() was introduced for TC in commit 27b29f63058d ("bpf: add bpf_redirect() helper"). We got lucky for a long time because bpf_net_context was a per-CPU variable that was always available. commit 401cb7dae813 ("net: Reference bpf_redirect_info via task_struct on PREEMPT_RT.") turned bpf_net_context into a task_struct member that is only set up by explicit callers. Without a caller setting it up, bpf_redirect() itself crashes with a NULL pointer dereference in bpf_net_ctx_get_ri(). However, even with bpf_net_context available, TC_ACT_REDIRECT from qdisc filter chains cannot be honored without adding skb_do_redirect() calls to every qdisc classify function, which would require changes across net/sched/. Isolate it to ebpf core where it belongs. Instead, add a tcf_classify_qdisc() inline helper in pkt_cls.h, as a wrapper around tcf_classify() for use by qdisc classify functions and tcf_qevent_handle(). When the classify verdict is TC_ACT_REDIRECT, the wrapper converts it to TC_ACT_SHOT, dropping the packet rather than letting it continue silently. Dropping is preferred over letting the packet through because the user immediately sees packet loss. Silently passing the packet through would hide the problem and leave the user wondering why their redirect is not working. The clsact fast path, tc_run() continues to call tcf_classify() directly and is unaffected: TC_ACT_REDIRECT is returned as-is and handled by sch_handle_egress/ingress() calling skb_do_redirect() as before.
Title net/sched: Handle TC_ACT_REDIRECT from qdisc filter chains
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:05:38.565Z

Reserved: 2026-07-30T09:28:09.394Z

Link: CVE-2026-68441

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-12T00:17:44.353

Modified: 2026-08-17T06:17:53.160

Link: CVE-2026-68441

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-12T00:00:00Z

Links: CVE-2026-68441 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T13:45:03Z

Weaknesses