{"id":"CVE-2026-98851","title":"netfilter: nft_flow_offload: drop flowtable reference on init error path","summary":"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_…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= a3c90f7a2323b331ae816d5b0633e68148e25d04 < 64ac0cb574c740bf723affb79b646eeba920db6b","Linux >= a3c90f7a2323b331ae816d5b0633e68148e25d04 < c5f91098edee98c015f78488460a0609e62582a5","Linux >= a3c90f7a2323b331ae816d5b0633e68148e25d04 < 4cd378423a33194a773c267fc58606d28fce95cf","Linux >= a3c90f7a2323b331ae816d5b0633e68148e25d04 < 747928b5d4ff8c8de55138a54c13980e4bb88578","Linux 4.16"],"published":"2026-10-18","updated":"2026-10-18","sourceUpdated":"2026-10-18T15:50:50.910Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-98851","references":[{"url":"https://git.kernel.org/stable/c/64ac0cb574c740bf723affb79b646eeba920db6b"},{"url":"https://git.kernel.org/stable/c/c5f91098edee98c015f78488460a0609e62582a5"},{"url":"https://git.kernel.org/stable/c/4cd378423a33194a773c267fc58606d28fce95cf"},{"url":"https://git.kernel.org/stable/c/747928b5d4ff8c8de55138a54c13980e4bb88578"}],"tags":["cve.org"],"ingestedAt":"2026-10-18T16:47:32.463Z","slug":"CVE-2026-98851","body":"## Overview\n\nIn 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->ops 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 ->destroy 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.\n\n## Affected\n\n- `Linux >= a3c90f7a2323b331ae816d5b0633e68148e25d04 < 64ac0cb574c740bf723affb79b646eeba920db6b`\n- `Linux >= a3c90f7a2323b331ae816d5b0633e68148e25d04 < c5f91098edee98c015f78488460a0609e62582a5`\n- `Linux >= a3c90f7a2323b331ae816d5b0633e68148e25d04 < 4cd378423a33194a773c267fc58606d28fce95cf`\n- `Linux >= a3c90f7a2323b331ae816d5b0633e68148e25d04 < 747928b5d4ff8c8de55138a54c13980e4bb88578`\n- `Linux 4.16`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}