Bug 2554924 (CVE-2026-98622) - CVE-2026-98622 kernel: net/sched: act_ct: don't WARN on benign flow_offload_alloc() failure
Summary: CVE-2026-98622 kernel: net/sched: act_ct: don't WARN on benign flow_offload_a...
Keywords:
Status: NEW
Alias: CVE-2026-98622
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-10-18 15:33 UTC by OSIDB Bzimport
Modified: 2026-10-21 10:44 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-10-18 15:33:01 UTC
In the Linux kernel, the following vulnerability has been resolved:

net/sched: act_ct: don't WARN on benign flow_offload_alloc() failure

flow_offload_alloc() returns NULL when the conntrack entry is dying
(e.g. raced with a conntrack flush) or when the GFP_ATOMIC allocation
fails; both are expected under load and neither is a kernel bug. This
path runs from softirq on every committed packet, so with
panic_on_warn=1 an unprivileged user can panic the box just by racing
a conntrack flush against a `tc ... action ct commit` classifier.

Reproduced with a custom repro under QEMU: a small, fixed set of UDP
flows through `tc filter ... action ct commit` on lo, raced against
threads flooding bare ctnetlink CT_DELETE (flush) requests. Hits
WARNING: net/sched/act_ct.c:437 (tcf_ct_flow_table_add(), inlined
into tcf_ct_act() in this build) within ~15s on the unpatched kernel;
same setup is clean on the patched kernel. The fix itself is
behavior-preserving: both branches already did `goto err_alloc`
before and after, only the WARN is removed.


Note You need to log in before you can comment on or make changes to this bug.