netfilter: flowtable: publish GC-visible tuple last
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.266, 5.15.217, 6.1.184, 6.6.153, 6.12.105, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: flowtable: publish GC-visible tuple last 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.).
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From ac2a66665e231847cab11b8c8e844ce43207dd2e · fixed in 0a00254585827f1695aa2700114af622ea754cfa; From ac2a66665e231847cab11b8c8e844ce43207dd2e · fixed in be345dcbddb4643a54252b954af974b16eda8f91; From ac2a66665e231847cab11b8c8e844ce43207dd2e · fixed in 211ee5d998d92a7d548811939c65942d06c146e4; From ac2a66665e231847cab11b8c8e844ce43207dd2e · fixed in d37917e7bebe078f3c17e47fd6fc1c9f6e8497b2; From ac2a66665e231847cab11b8c8e844ce43207dd2e · fixed in 972fdf7c4f5c282a239c88fea614b056c33dc025; From ac2a66665e231847cab11b8c8e844ce43207dd2e · fixed in d9d3050a70efe217e73a0751e55fdae6a7092620; From ac2a66665e231847cab11b8c8e844ce43207dd2e · fixed in d16b71231e65cb05daea2b45701fcf09cef041e7; From ac2a66665e231847cab11b8c8e844ce43207dd2e · fixed in 2014ac62df9d45bb9a004a043e85df7be09ed780
- Linux Linux
4.16
- KernelLinux
From 4.16.0 · fixed in 5.10.266; From 5.11.0 · fixed in 5.15.217; From 5.16.0 · fixed in 6.1.184; From 6.2.0 · fixed in 6.6.153; From 6.7.0 · fixed in 6.12.105; From 6.13.0 · fixed in 6.18.46; From 6.19.0 · fixed in 7.1.10
References 8
git.kernel.org
- stable/c/0a00254585827f1695aa2700114af622ea754cfa
- stable/c/be345dcbddb4643a54252b954af974b16eda8f91
- stable/c/211ee5d998d92a7d548811939c65942d06c146e4
- stable/c/d37917e7bebe078f3c17e47fd6fc1c9f6e8497b2
- stable/c/972fdf7c4f5c282a239c88fea614b056c33dc025
- stable/c/d9d3050a70efe217e73a0751e55fdae6a7092620
- stable/c/d16b71231e65cb05daea2b45701fcf09cef041e7
- stable/c/2014ac62df9d45bb9a004a043e85df7be09ed780