From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 832B248EBE0 for ; Fri, 25 Sep 2026 10:26:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790332011; cv=none; b=CBoIPK2LhLNwlQEH91dkY2pKP2XTqsySeybE4Dk3Y6JKOYxE0no2bendEh0ksEF4BAIOKWmNdVcP2ZkS9Kn+fSH9vufhZH33BRQWlAyKBnYOq7MYGF49+uDJnn4/lQ7wG6eLY1ZiYDyijApohdXfsYi7V9W5B26+aFArKJFRnrs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790332011; c=relaxed/simple; bh=HIX2qke+XciV0I+1qLUw3joPqFYqP+HdfIjedDm82fE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=LcL8ZNcbZhTel5K3ClXzydRworznqYocMzuuCnNIABSliloUuFZU452SrdKRyXoKMJlf+wd0gFwDnGwD+xqNRc1qdkn7w2CRmoTHI2YfIRn1yA9ssbTOeemLDDdem1mUBXuGFfWZ2wKdH3jjxIooqcO/VRCcHd5a/ueC+z15PhM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=TdzV1zKM; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="TdzV1zKM" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DD1AF1F000FF; Fri, 25 Sep 2026 10:26:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1790332010; bh=xrN84oOq8hS6FexXEZpAVSAz1MUoqplRzoxdzZuUla4=; h=From:To:Cc:Subject:Date:Reply-To; b=TdzV1zKMoMj4IpvLpbeQa8tjRwf5kfNuHZscwsIlWg51ItEXc0us99oPJen4ddopb RRvO0rfwyYIVXTRCPw09JOrN0B0FIsWdMhWFqqBcf6rk/rjqK98uhl5D+D88lvzpyg mwAC9hUDzAsXORyO/oP64s9bVpXxrepuX43BTR1E= From: Greg Kroah-Hartman To: linux-cve-announce@vger.kernel.org Cc: Greg Kroah-Hartman Subject: CVE-2026-97609: netfilter: cttimeout: prevent UAF during module unload Date: Fri, 25 Sep 2026 12:23:09 +0200 Message-ID: <2026092501-CVE-2026-97609-db76@gregkh> X-Mailer: git-send-email 2.55.0 Reply-To: , Precedence: bulk X-Mailing-List: linux-cve-announce@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3561; i=gregkh@linuxfoundation.org; h=from:subject:message-id; bh=cfISm9RNaTXHp91SA3fawq2891q+Age7nbvUwcTQr90=; b=owGbwMvMwCRo6H6F97bub03G02pJDFnbvD1fRnXH2O8udl26dtnLp5zlHKJ3CmZu65usWLC5t WS5WPuGjlgWBkEmBlkxRZYv23iO7q84pOhlaHsaZg4rE8gQBi5OAZhI5UuGBed3aB71zWDOaZit q/y57/iOvZwvBRnm6U8o4Vg/uS57j0r/DK8Ln1/kctyrBQA= X-Developer-Key: i=gregkh@linuxfoundation.org; a=openpgp; fpr=F4B60CC5BF78C2214A313DCB3147D40DDB2DFB29 Content-Transfer-Encoding: 8bit From: Greg Kroah-Hartman Description =========== In the Linux kernel, the following vulnerability has been resolved: netfilter: cttimeout: prevent UAF during module unload nf_ct_set_timeout() protects the timeout hook dereference and policy lookup with rcu_read_lock(). cttimeout_exit(), however, unregisters the per-net operations before it clears the hook. This allows the following interleaving: CPU 0 CPU 1 cttimeout_exit() nf_ct_set_timeout() unregister_pernet_subsys() rcu_read_lock() kfree(pernet) h = nf_ct_timeout_hook h->timeout_find_get() nfct_timeout_pernet() The hook still points to ctnl_timeout_find_get() when CPU 1 looks up the already freed per-net timeout list. KASAN reported: BUG: KASAN: slab-use-after-free in ctnl_timeout_find_get Read of size 8 by task poc/90 Call Trace: ctnl_timeout_find_get+0x271/0x2a0 [nfnetlink_cttimeout] nf_ct_set_timeout+0x7b/0x3c0 xt_ct_tg_check+0x724/0xb20 xt_check_target+0x234/0xa90 do_ipt_set_ctl+0x570/0x1270 Allocated by task 89: __kmalloc_noprof+0x16e/0x460 ops_init+0x6d/0x420 register_pernet_operations+0x2f6/0x670 Freed by task 91: kfree+0x131/0x390 ops_undo_list+0x3d4/0x730 unregister_pernet_operations+0x232/0x490 unregister_pernet_subsys+0x1c/0x30 cttimeout_exit+0x52/0x970 [nfnetlink_cttimeout] Clear the hook and wait for existing readers before unregistering the per-net operations. This blocks new policy lookups and ensures readers that observed the hook finish before the per-net storage is freed. The Linux kernel CVE team has assigned CVE-2026-97609 to this issue. Affected and fixed versions =========================== Issue introduced in 5.13 with commit ebfbe67568a734a449203097b02c4ab884257535 and fixed in 6.18.53 with commit a7fdd86c386b7f7cc72a126389c2cdb55d035221 Issue introduced in 5.13 with commit ebfbe67568a734a449203097b02c4ab884257535 and fixed in 7.2.7 with commit 1f69c570a73f2dedf75ea5166d47622d5fa958c1 Issue introduced in 5.13 with commit ebfbe67568a734a449203097b02c4ab884257535 and fixed in 7.3-rc3 with commit fec9b1de0d02de8dafa3cc344bcb91cf28660643 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-97609 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: net/netfilter/nfnetlink_cttimeout.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/a7fdd86c386b7f7cc72a126389c2cdb55d035221 https://git.kernel.org/stable/c/1f69c570a73f2dedf75ea5166d47622d5fa958c1 https://git.kernel.org/stable/c/fec9b1de0d02de8dafa3cc344bcb91cf28660643