CVE-2026-74382
Received Received - Intake

Stack Overflow in Linux Kernel cls_bpf Offload Rollback

Vulnerability report for CVE-2026-74382, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-15

Last updated on: 2026-08-15

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: net/sched: cls_bpf: prevent unbounded recursion in offload rollback Quan Sun reported [1] a stack overflow in cls_bpf_offload_cmd(). Reproducer on netdevsim: add a skip_sw cls_bpf filter, set the bpf_tc_accept debugfs knob to 0, then `tc filter replace`. The replace calls tc_setup_cb_replace() which fails. cls_bpf_offload_cmd() then swaps prog/oldprog and recursively calls itself to roll back. But bpf_tc_accept=0 makes the rollback fail too, which triggers yet another rollback frame with the same arguments, and so on until the stack is exhausted. bpf_tc_accept is just a convenient knob for the reproducer. Any driver whose tc_setup_cb_replace() fails twice in a row can hit the same loop, so this is not a netdevsim-only issue. Two ways to fix it: 1) Have the rollback call tc_setup_cb_add() on oldprog instead of re-entering cls_bpf_offload_cmd(). 2) Mark the rollback frame with a flag and skip a second-level rollback from inside it. Go with (2). It is the smaller change and keeps the original behaviour: the rollback still goes through tc_setup_cb_replace(), so the driver gets one real chance to restore its state. If that attempt also fails, we just return the original error instead of recursing. [1]: https://lore.kernel.org/bpf/ce5a6005-3c5e-4696-9e05-eba9461dc860@std.uestc.edu.cn/T/#u

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-15
Last Modified
2026-08-15
Generated
2026-08-15
AI Q&A
2026-08-15
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a stack overflow in the Linux kernel's cls_bpf module. It occurs during offload rollback when tc_setup_cb_replace() fails twice in a row. The function cls_bpf_offload_cmd() recursively calls itself to roll back, but if the rollback fails again, it triggers another recursive call with the same arguments. This continues until the stack is exhausted, causing a crash.

Detection Guidance

This vulnerability is specific to the Linux kernel's cls_bpf module and involves stack overflow during offload rollback. Detection requires checking kernel logs for stack overflow errors or kernel panics related to cls_bpf. Monitor for crashes during tc filter operations or unusual recursion in kernel traces.

Impact Analysis

This vulnerability can cause system crashes due to stack overflow. If exploited, it may lead to denial-of-service conditions, making the affected system unresponsive. It primarily affects systems using cls_bpf filters with offload capabilities.

Mitigation Strategies

Apply the kernel patch that fixes the unbounded recursion in cls_bpf_offload_cmd(). Update to a patched kernel version. If immediate patching is not possible, avoid using skip_sw cls_bpf filters or disable BPF offload features temporarily until the fix is applied.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-74382. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart