Look up another CVE · open CVE-2026-74746 in the interactive tracker
CVE-2026-74746
netfilter: flowtable: publish GC-visible tuple last
Published 2026-08-26 (2 months ago) by the Linux kernel CNA. Subsystem net/netfilter. Debian urgency: not yet assigned.
What to do, per Debian release
Debian's own status for CVE-2026-74746 in every release this site tracks, and what each one means in practice. Every status below is the one the Debian Security Team publishes for this CVE. source
| Release | Status | Version | What this means |
|---|---|---|---|
| Debian 12bookworm | fixedDLA-4777-1 · 2026-09-08 · text | 6.1.187-1 | Update the kernel and reboot. DLA-4777-1 shipped the fix on 2026-09-08, in 6.1.187-1. A running kernel keeps the old code until the machine restarts. |
| Debian 13trixie | fixed | 6.12.105-1 | Update the kernel and reboot. Fixed in 6.12.105-1. A running kernel keeps the old code until the machine restarts. |
| Debian 14forky | fixed | 7.1.10-1 | Update the kernel and reboot. Fixed in 7.1.10-1. A running kernel keeps the old code until the machine restarts. |
| Debian unstablesid | fixed | 7.1.10-1 | Update the kernel and reboot. Fixed in 7.1.10-1. A running kernel keeps the old code until the machine restarts. |
| Debian 12bookworm · linux-6.12 | fixedDLA-4788-1 · 2026-09-19 · text | 6.12.107-1~deb12u1 | Update the kernel and reboot. DLA-4788-1 shipped the fix on 2026-09-19, in 6.12.107-1~deb12u1. A running kernel keeps the old code until the machine restarts. |
The vulnerability
What the bug is
nf_flow_table_iterate() only treats original-direction tuple nodes as owning entries. Publishing the original node first lets GC observe and free a flow while flow_offload_add() is still inserting the reply node. Publish the reply node first and the original node last so GC never sees a partially installed flow. KASAN can trigger slab-use-after-free read and write reports in the flowtable/rhashtable path (rht_deferred_worker, jhash, flow_offload_del, flow_offload_lookup, etc.).
Where it lives
The fix touches these files. If the subsystem is one you do not use, the practical exposure is lower, though the package is still the vulnerable one.
net/netfilter/nf_flow_table_core.c
- What this is
- NETFILTERMAINTAINERS section matched on net/netfilter/ · netfilter-devel@vger.kernel.org · Maintained
- Kernel module
- nf_flow_table
Check it on the machine
grep -wE 'CONFIG_NETFILTER|CONFIG_NF_FLOW_TABLE' /boot/config-$(uname -r)Reads the booted kernel's own configuration, on the machine and nowhere else. =y is built in, =m is a module, and an is not set line means the code is not there.
lsmod | grep -w nf_flow_tablePrints a line if that module is loaded right now, and nothing if it is not. One that is not loaded can still be loaded later by anything that needs it.
Show whether Debian builds this, per release
Debian builds this as a loadable module. Every release below compiles it as a module on every flavour, so whether the code is in the running kernel depends on whether that module is loaded.
- bookworm, trixie, forky, sid, bookworm · linux-6.12m
- m
- a loadable module on every flavour - check lsmod, can be blacklisted
- Build switches
- CONFIG_NETFILTER, CONFIG_NF_FLOW_TABLE
- Reads as
- all on means the file is compiled; any one off means it is not.
From the configuration Debian publishes for every kernel flavour it builds. It covers only the architectures Debian ships a linux-config package for, and nothing about a kernel you built yourself. Debian's own status above stays authoritative about the source package.MAINTAINERS kbuild Makefiles Debian linux-config packages
Signals
- Published
- 2026-08-26 (2 months ago)source
- CVSS
- 9.8 critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hsource recompute it - Attack vector
- network (AV:N)source
- EPSS
- 0.54%, higher than 44.0% of all CVEssource
- CISA KEV
- not listedthe KEV catalogue
- Debian urgency
- not yet assignedsource
- Subsystem
- net/netfilter
Upstream fixes
The versions the CNA records as introducing and fixing this, and the commit for each. source
| Introduced | Fixed in | Commit |
|---|---|---|
| 4.16 | 5.10.266 | 0a0025458582 |
| 4.16 | 5.15.217 | be345dcbddb4 |
| 4.16 | 6.1.184 | 211ee5d998d9 |
| 4.16 | 6.6.153 | d37917e7bebe |
| 4.16 | 6.12.105 | 972fdf7c4f5c |
| 4.16 | 6.18.46 | d9d3050a70ef |
| 4.16 | 7.1.10 | d16b71231e65 |
| 4.16 | 7.2 | 2014ac62df9d |
Debian advisories
| Advisory | Date | Shipped to | Debian |
|---|---|---|---|
| DLA-4788-1 | 2026-09-19 | bookworm 6.12.107-1~deb12u1 | tracker |
| DLA-4777-1 | 2026-09-08 | bookworm 6.1.187-1 | tracker |
Why the CNA scored it this way
Quoted from the kernel CNA's own scoring file, word for word. A highlighted metric carries the most severe value CVSS v3.1 defines for it, which is what pushes the score up. source
- AV:NAttack vector, network
- flow_offload_add runs from nft_flow_offload_eval on the FORWARD hook and from tc act_ct during softirq packet processing when remote TCP/UDP traffic creates new offloaded conntrack flows on nftables flowtable routers/gateways, not through netlink configuration APIs.
- AC:LAttack complexity, low
- The attacker controls when flows are offloaded (packet rate/timing) and can race connection teardown so nf_flow_table_gc_run observes a partially installed original tuple while reply insertion is still in progress; both the insert and GC sides of the race are attacker-driven.
- PR:NPrivileges required, none
- On the intended edge-router/OpenWrt deployment, nftables flow offload is an administrator prerequisite; a remote sender needs no local account, authentication, or CAP_NET_ADMIN on the victim to trigger flow_offload_add while forwarding traffic.
- UI:NUser interaction, none
- Exploitation requires only sending network packets processed automatically on the forwarding or ingress path; no victim must open files, mount filesystems, or take any interactive action beyond normal traffic through the router.
- S:UScope, unchanged
- Slab use-after-free in the flowtable rhashtable/GC path affects only in-kernel memory on the affected host; this is standard kernel compromise within one security authority, not a VM escape, IOMMU bypass, or cross-boundary sandbox break.
- C:HConfidentiality impact, high
- The fix commit documents KASAN slab-use-after-free read and write reports in rht_deferred_worker, jhash, flow_offload_del, and flow_offload_lookup; UAF on flow_offload kmem-cache objects enables arbitrary kernel memory disclosure via heap grooming.
- I:HIntegrity impact, high
- Freed flow_offload structures remain reachable during concurrent rhashtable insert/remove and deferred worker operations, providing attacker-influenceable heap corruption that can be groomed into arbitrary kernel writes and control-flow hijack.
- A:HAvailability impact, high
- Concurrent GC freeing of a partially inserted flow while flow_offload_add or rhashtable workers still access it causes kernel oops/panic and reliable denial of service; UAF on the flow offload path can crash forwarding routers under sustained malicious traffic.