{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-31665","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-03-09T15:48:24.129Z","datePublished":"2026-04-24T14:45:14.613Z","dateUpdated":"2026-05-11T22:13:13.182Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-05-11T22:13:13.182Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nft_ct: fix use-after-free in timeout object destroy\n\nnft_ct_timeout_obj_destroy() frees the timeout object with kfree()\nimmediately after nf_ct_untimeout(), without waiting for an RCU grace\nperiod. Concurrent packet processing on other CPUs may still hold\nRCU-protected references to the timeout object obtained via\nrcu_dereference() in nf_ct_timeout_data().\n\nAdd an rcu_head to struct nf_ct_timeout and use kfree_rcu() to defer\nfreeing until after an RCU grace period, matching the approach already\nused in nfnetlink_cttimeout.c.\n\nKASAN report:\n BUG: KASAN: slab-use-after-free in nf_conntrack_tcp_packet+0x1381/0x29d0\n Read of size 4 at addr ffff8881035fe19c by task exploit/80\n\n Call Trace:\n  nf_conntrack_tcp_packet+0x1381/0x29d0\n  nf_conntrack_in+0x612/0x8b0\n  nf_hook_slow+0x70/0x100\n  __ip_local_out+0x1b2/0x210\n  tcp_sendmsg_locked+0x722/0x1580\n  __sys_sendto+0x2d8/0x320\n\n Allocated by task 75:\n  nft_ct_timeout_obj_init+0xf6/0x290\n  nft_obj_init+0x107/0x1b0\n  nf_tables_newobj+0x680/0x9c0\n  nfnetlink_rcv_batch+0xc29/0xe00\n\n Freed by task 26:\n  nft_obj_destroy+0x3f/0xa0\n  nf_tables_trans_destroy_work+0x51c/0x5c0\n  process_one_work+0x2c4/0x5a0"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"}}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["include/net/netfilter/nf_conntrack_timeout.h","net/netfilter/nft_ct.c"],"versions":[{"version":"7e0b2b57f01d183e1c84114f1f2287737358d748","lessThan":"c458fc1c278a65ad5381083121d39a479973ebed","status":"affected","versionType":"git"},{"version":"7e0b2b57f01d183e1c84114f1f2287737358d748","lessThan":"c581e5c8f2b59158f62efe61c1a3dc36189081ff","status":"affected","versionType":"git"},{"version":"7e0b2b57f01d183e1c84114f1f2287737358d748","lessThan":"f16fe84879a5280f05ebbcea593a189ba0f3e79a","status":"affected","versionType":"git"},{"version":"7e0b2b57f01d183e1c84114f1f2287737358d748","lessThan":"070abdf1b04325b21a20a2a0c39a2208af107275","status":"affected","versionType":"git"},{"version":"7e0b2b57f01d183e1c84114f1f2287737358d748","lessThan":"aa7cfa16f98f8ec3e6d47c34e1a8c1ae4b9b8b77","status":"affected","versionType":"git"},{"version":"7e0b2b57f01d183e1c84114f1f2287737358d748","lessThan":"b42aca3660dc2627a29a38131597ca610dc451f9","status":"affected","versionType":"git"},{"version":"7e0b2b57f01d183e1c84114f1f2287737358d748","lessThan":"d0983b48c10d1509fd795c155f8b1e832e1369ff","status":"affected","versionType":"git"},{"version":"7e0b2b57f01d183e1c84114f1f2287737358d748","lessThan":"f8dca15a1b190787bbd03285304b569631160eda","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["include/net/netfilter/nf_conntrack_timeout.h","net/netfilter/nft_ct.c"],"versions":[{"version":"4.19","status":"affected"},{"version":"0","lessThan":"4.19","status":"unaffected","versionType":"semver"},{"version":"5.10.253","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.203","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.169","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.135","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.82","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.23","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"6.19.13","lessThanOrEqual":"6.19.*","status":"unaffected","versionType":"semver"},{"version":"7.0","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"5.10.253"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"5.15.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.1.169"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.6.135"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.12.82"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.18.23"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.19.13"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"7.0"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/c458fc1c278a65ad5381083121d39a479973ebed"},{"url":"https://git.kernel.org/stable/c/c581e5c8f2b59158f62efe61c1a3dc36189081ff"},{"url":"https://git.kernel.org/stable/c/f16fe84879a5280f05ebbcea593a189ba0f3e79a"},{"url":"https://git.kernel.org/stable/c/070abdf1b04325b21a20a2a0c39a2208af107275"},{"url":"https://git.kernel.org/stable/c/aa7cfa16f98f8ec3e6d47c34e1a8c1ae4b9b8b77"},{"url":"https://git.kernel.org/stable/c/b42aca3660dc2627a29a38131597ca610dc451f9"},{"url":"https://git.kernel.org/stable/c/d0983b48c10d1509fd795c155f8b1e832e1369ff"},{"url":"https://git.kernel.org/stable/c/f8dca15a1b190787bbd03285304b569631160eda"}],"title":"netfilter: nft_ct: fix use-after-free in timeout object destroy","x_generator":{"engine":"bippy-1.2.0"}}}}