netfilter: flowtable: fix stuck flows on cleanup due to pending work
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 11 fixed, 1 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat. Impact type from CWE-416 and the CVSS impact.
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: flowtable: fix stuck flows on cleanup due to pending work To clear the flow table on flow table free, the following sequence normally happens in order: 1) gc_step work is stopped to disable any further stats/del requests. 2) All flow table entries are set to teardown state. 3) Run gc_step which will queue HW del work for each flow table entry. 4) Waiting for the above del work to finish (flush). 5) Run gc_step again, deleting all entries from the flow table. 6) Flow table is freed. But if a flow table entry already has pending HW stats or HW add work step 3 will not queue HW del work (it will be skipped), step 4 will wait for the pending add/stats to finish, and step 5 will queue HW del work which might execute after freeing of the flow table. To fix the above, this patch flushes the pending work, then it sets the teardown flag to all flows in the flowtable and it forces a garbage collector run to queue work to remove the flows from hardware, then it flushes this new pending work and (finally) it forces another garbage collector run to remove the entry from the software flowtable. Stack trace: [47773.882335] BUG: KASAN: use-after-free in down_read+0x99/0x460 [47773.883634] Write of size 8 at addr ffff888103b45aa8 by task kworker/u20:6/543704 [47773.885634] CPU: 3 PID: 543704 Comm: kworker/u20:6 Not tainted 5.12.0-rc7+ #2 [47773.886745] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009) [47773.888438] Workqueue: nf_ft_offload_del flow_offload_work_handler [nf_flow_table] [47773.889727] Call Trace: [47773.890214] dump_stack+0xbb/0x107 [47773.890818] print_address_description.constprop.0+0x18/0x140 [47773.892990] kasan_report.cold+0x7c/0xd8 [47773.894459] kasan_check_range+0x145/0x1a0 [47773.895174] down_read+0x99/0x460 [47773.899706] nf_flow_offload_tuple+0x24f/0x3c0 [nf_flow_table] [47773.907137] flow_offload_work_handler+0x72d/0xbe0 [nf_flow_table] [47773.913372] process_one_work+0x8ac/0x14e0 [47773.921325] [47773.921325] Allocated by task 592159: [47773.922031] kasan_save_stack+0x1b/0x40 [47773.922730] __kasan_kmalloc+0x7a/0x90 [47773.923411] tcf_ct_flow_table_get+0x3cb/0x1230 [act_ct] [47773.924363] tcf_ct_init+0x71c/0x1156 [act_ct] [47773.925207] tcf_action_init_1+0x45b/0x700 [47773.925987] tcf_action_init+0x453/0x6b0 [47773.926692] tcf_exts_validate+0x3d0/0x600 [47773.927419] fl_change+0x757/0x4a51 [cls_flower] [47773.928227] tc_new_tfilter+0x89a/0x2070 [47773.936652] [47773.936652] Freed by task 543704: [47773.937303] kasan_save_stack+0x1b/0x40 [47773.938039] kasan_set_track+0x1c/0x30 [47773.938731] kasan_set_free_info+0x20/0x30 [47773.939467] __kasan_slab_free+0xe7/0x120 [47773.940194] slab_free_freelist_hook+0x86/0x190 [47773.941038] kfree+0xce/0x3a0 [47773.941644] tcf_ct_flow_table_cleanup_work Original patch description and stack trace by Paul Blakey.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 5.5 and later | 5.15.64, 5.19.6, 6.0 | Patch available | CNA |
- Linux VendorLinux Affected 5.5 and later Fixed in 5.15.64, 5.19.6, 6.0 Patch available CNA
Remediation
- Fix · CNA Linux (Linux) Fixed in 5.15.64, 5.19.6, 6.0
Red Hat 5 advisories
- RHSA-2025:15660 Released 2025-09-11 · Red Hat rating Importantkernel security update
- Red Hat Enterprise Linux BaseOS AUS (v.8.4) bpftool-4.18.0-305.172.1.el8_4, kernel-4.18.0-305.172.1.el8_4, kernel-abi-stablelists-4.18.0-305.172.1.el8_4 +13
- Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) bpftool-4.18.0-305.172.1.el8_4, kernel-4.18.0-305.172.1.el8_4, kernel-abi-stablelists-4.18.0-305.172.1.el8_4 +13
- RHSA-2023:2951 Released 2023-05-16 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-477.10.1.el8_8, kernel-4.18.0-477.10.1.el8_8, kernel-abi-stablelists-4.18.0-477.10.1.el8_8 +19
- Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-477.10.1.el8_8
- RHSA-2023:0512 Released 2023-01-30 · Red Hat rating Importantkernel security and bug fix update
- Red Hat CodeReady Linux Builder EUS (v.9.0) kernel-tools-libs-devel-5.14.0-70.43.1.el9_0
- Red Hat Enterprise Linux AppStream EUS (v.9.0) kernel-debug-devel-5.14.0-70.43.1.el9_0, kernel-debug-devel-matched-5.14.0-70.43.1.el9_0, kernel-devel-5.14.0-70.43.1.el9_0 +5
- Red Hat Enterprise Linux BaseOS EUS (v.9.0) bpftool-5.14.0-70.43.1.el9_0, kernel-5.14.0-70.43.1.el9_0, kernel-abi-stablelists-5.14.0-70.43.1.el9_0 +14
Show 2 more Red Hat advisories
- RHSA-2023:0101 Released 2023-01-12 · Red Hat rating Importantkernel security and bug fix update
- Red Hat CodeReady Linux Builder (v. 8) kernel-tools-libs-devel-4.18.0-425.10.1.el8_7
- Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-425.10.1.el8_7, kernel-4.18.0-425.10.1.el8_7, kernel-abi-stablelists-4.18.0-425.10.1.el8_7 +19
- RHSA-2022:8267 Released 2022-11-15 · Red Hat rating Moderatekernel security, bug fix, and enhancement update
- Red Hat CodeReady Linux Builder (v. 9) kernel-tools-libs-devel-5.14.0-162.6.1.el9_1
- Red Hat Enterprise Linux AppStream (v. 9) kernel-debug-devel-5.14.0-162.6.1.el9_1, kernel-debug-devel-matched-5.14.0-162.6.1.el9_1, kernel-devel-5.14.0-162.6.1.el9_1 +5
- Red Hat Enterprise Linux BaseOS (v. 9) bpftool-5.14.0-162.6.1.el9_1, kernel-5.14.0-162.6.1.el9_1, kernel-abi-stablelists-5.14.0-162.6.1.el9_1 +14
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 8 | Affected | No fix yet |
| Red Hat CodeReady Linux Builder (v. 8) | Fixed | RHSA-2023:0101 |
| Red Hat CodeReady Linux Builder (v. 9) | Fixed | RHSA-2022:8267 |
| Red Hat CodeReady Linux Builder EUS (v.9.0) | Fixed | RHSA-2023:0512 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2022:8267 |
| Red Hat Enterprise Linux AppStream EUS (v.9.0) | Fixed | RHSA-2023:0512 |
| Red Hat Enterprise Linux BaseOS (v. 8) | Fixed | RHSA-2023:0101, RHSA-2023:2951 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2022:8267 |
| Red Hat Enterprise Linux BaseOS AUS (v.8.4) | Fixed | RHSA-2025:15660 |
| Red Hat Enterprise Linux BaseOS EUS (v.9.0) | Fixed | RHSA-2023:0512 |
| Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) | Fixed | RHSA-2025:15660 |
| Red Hat Enterprise Linux CRB (v. 8) | Fixed | RHSA-2023:2951 |
Not affected: 6 products
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 9
- Red Hat Enterprise Linux BaseOS AUS (v.8.4)
- Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4)
Timeline
- 2026-10-02 Threatist record created from CVE-2022-50000
- 2026-10-03 Alias added: GHSA-22xc-pf4c-p298
References
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2022-50000 · CVE Program
- CVE-2022-50000 · NVD
- FIRST EPSS
- GHSA-22xc-pf4c-p298 · GitHub Advisory Database · CC BY 4.0
- CVE-2022-50000 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences