{"id":"CVE-2026-98851","summary":"netfilter: nft_flow_offload: drop flowtable reference on init error path","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nft_flow_offload: drop flowtable reference on init error path\n\nnft_flow_offload_init() bumps the flowtable use count with\nnft_use_inc() before calling nf_ct_netns_get().  When the latter\nfails, the error is returned as-is and the reference is leaked.\n\nThe upper layers do not balance it either: nf_tables_newexpr()\nclears expr-\u003eops when the expression init callback fails, so the\nnft_expr_more() iteration in nft_rule_expr_deactivate() and\nnf_tables_rule_destroy() stops right before the failed expression\nand its -\u003edestroy callback, which would drop the reference, never\nruns.\n\nEach failed rule addition therefore leaks one flowtable reference\nand the flowtable can no longer be removed: NFT_MSG_DELFLOWTABLE\nkeeps reporting -EBUSY even though no rule references it.\n\nSave the nf_ct_netns_get() return value and undo the nft_use_inc()\nwhen it fails, restoring the inc/dec pairing within\nnft_flow_offload_init() itself.","modified":"2026-10-19T02:47:36.158174031Z","published":"2026-10-18T15:50:50.910Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98851.json"},"references":[{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"},{"type":"WEB","url":"https://git.kernel.org/stable/c/4cd378423a33194a773c267fc58606d28fce95cf"},{"type":"WEB","url":"https://git.kernel.org/stable/c/64ac0cb574c740bf723affb79b646eeba920db6b"},{"type":"WEB","url":"https://git.kernel.org/stable/c/747928b5d4ff8c8de55138a54c13980e4bb88578"},{"type":"WEB","url":"https://git.kernel.org/stable/c/c5f91098edee98c015f78488460a0609e62582a5"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98851.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98851"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"a3c90f7a2323b331ae816d5b0633e68148e25d04"},{"fixed":"64ac0cb574c740bf723affb79b646eeba920db6b"},{"fixed":"c5f91098edee98c015f78488460a0609e62582a5"},{"fixed":"4cd378423a33194a773c267fc58606d28fce95cf"},{"fixed":"747928b5d4ff8c8de55138a54c13980e4bb88578"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98851.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.16.0"},{"fixed":"6.12.113"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.56"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.10"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98851.json"}}],"schema_version":"1.9.0"}