Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 64ff70b80fd403110b67dd9f7184a604fdb0da43 before e8fcf3f08834e939b797311742ee72b1e2a08096; affected 64ff70b80fd403110b67dd9f7184a604fdb0da43 before af475f599270e59313552e6c6f3af8507da672b8; affected 64ff70b80fd403110b67dd9f7184a604fdb0da43 before 424ba52c0058deeb940d02cba52eb0aeb288db33; affected 64ff70b80fd403110b67dd9f7184a604fdb0da43 before d512c484bd93a5f2794aa03c9faeb7bcb82dbd4a; affected 64ff70b80fd403110b67dd9f7184a604fdb0da43 before d805560ad69cb266d669341ca01e26bffb0d2c67; affected 64ff70b80fd403110b67dd9f7184a604fdb0da43 before 00734f3684fcec42c319bedfe68a5d357c720b53; affected 64ff70b80fd403110b67dd9f7184a604fdb0da43 before 650787233c2fd6e515a7c5f371019a9fa080ccd2; affected 64ff70b80fd403110b67dd9f7184a604fdb0da43 before 47abe7a5c4eb53269aca3506446f851572a059a3 |
| Linux / Linux | affected 5.7; unaffected 0 before 5.7; unaffected 5.10.271 through 5.10.*; unaffected 5.15.222 through 5.15.*; unaffected 6.1.189 through 6.1.*; unaffected 6.6.158 through 6.6.*; unaffected 6.12.112 through 6.12.*; unaffected 6.18.55 through 6.18.*; unaffected 7.2.9 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/e8fcf3f08834e939b797311742ee72b1e2a08096
- https://git.kernel.org/stable/c/af475f599270e59313552e6c6f3af8507da672b8
- https://git.kernel.org/stable/c/424ba52c0058deeb940d02cba52eb0aeb288db33
- https://git.kernel.org/stable/c/d512c484bd93a5f2794aa03c9faeb7bcb82dbd4a
- https://git.kernel.org/stable/c/d805560ad69cb266d669341ca01e26bffb0d2c67
- https://git.kernel.org/stable/c/00734f3684fcec42c319bedfe68a5d357c720b53
- https://git.kernel.org/stable/c/650787233c2fd6e515a7c5f371019a9fa080ccd2
- https://git.kernel.org/stable/c/47abe7a5c4eb53269aca3506446f851572a059a3