{"id":"CVE-2023-53619","state":"PUBLISHED","title":"netfilter: conntrack: Avoid nf_ct_helper_hash uses after free","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: conntrack: Avoid nf_ct_helper_hash uses after free\n\nIf nf_conntrack_init_start() fails (for example due to a\nregister_nf_conntrack_bpf() failure), the nf_conntrack_helper_fini()\nclean-up path frees the nf_ct_helper_hash map.\n\nWhen built with NF_CONNTRACK=y, further netfilter modules (e.g:\nnetfilter_conntrack_ftp) can still be loaded and call\nnf_conntrack_helpers_register(), independently of whether nf_conntrack\ninitialized correctly. This accesses the nf_ct_helper_hash dangling\npointer and causes a uaf, possibly leading to random memory corruption.\n\nThis patch guards nf_conntrack_helper_register() from accessing a freed\nor uninitialized nf_ct_helper_hash pointer and fixes possible\nuses-after-free when loading a conntrack module.","publishedAt":"2025-10-07T15:19:26.003Z","updatedAt":"2026-10-15T21:41:31.970Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"4ee69c91cb8f9ca144bc0861969e5a1a3c6152a7","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"00716f25f9697d02a0d9bd622575c7c7321ba3d0","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"61c7a5256543ae7d24cd9d21853d514c8632e1e9","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"8289d422f5e484efe4a565fe18e862ecd621c175","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"6f03ce2f1abcb9f9d0511e3659ca6eb60e39f566","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"05561f822f27b9fa88fa5504ddec34bf38833034","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"fce5cc7cbd4b92f979bf02c9ec5fb69aaeba92d7","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"6eef7a2b933885a17679eb8ed0796ddf0ee5309b","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nf_conntrack_helper.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.6","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.6","versionType":"semver"},{"version":"4.14.322","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.291","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.251","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.188","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.121","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.39","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.4.4","status":"unaffected","lessThanOrEqual":"6.4.*","versionType":"semver"},{"version":"6.5","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nf_conntrack_helper.c"]}],"references":["https://git.kernel.org/stable/c/4ee69c91cb8f9ca144bc0861969e5a1a3c6152a7","https://git.kernel.org/stable/c/00716f25f9697d02a0d9bd622575c7c7321ba3d0","https://git.kernel.org/stable/c/61c7a5256543ae7d24cd9d21853d514c8632e1e9","https://git.kernel.org/stable/c/8289d422f5e484efe4a565fe18e862ecd621c175","https://git.kernel.org/stable/c/6f03ce2f1abcb9f9d0511e3659ca6eb60e39f566","https://git.kernel.org/stable/c/05561f822f27b9fa88fa5504ddec34bf38833034","https://git.kernel.org/stable/c/fce5cc7cbd4b92f979bf02c9ec5fb69aaeba92d7","https://git.kernel.org/stable/c/6eef7a2b933885a17679eb8ed0796ddf0ee5309b"],"weaknesses":[],"ingestedAt":"2026-10-29T20:06:33.064Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2023/53xxx/CVE-2023-53619.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-53619","state":"PUBLISHED","datePublished":"2025-10-07T15:19:26.003Z","dateUpdated":"2026-10-15T21:41:31.970Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-10-07T15:16:59.655Z"},"containers":{"cna":{"title":"netfilter: conntrack: Avoid nf_ct_helper_hash uses after free","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: conntrack: Avoid nf_ct_helper_hash uses after free\n\nIf nf_conntrack_init_start() fails (for example due to a\nregister_nf_conntrack_bpf() failure), the nf_conntrack_helper_fini()\nclean-up path frees the nf_ct_helper_hash map.\n\nWhen built with NF_CONNTRACK=y, further netfilter modules (e.g:\nnetfilter_conntrack_ftp) can still be loaded and call\nnf_conntrack_helpers_register(), independently of whether nf_conntrack\ninitialized correctly. This accesses the nf_ct_helper_hash dangling\npointer and causes a uaf, possibly leading to random memory corruption.\n\nThis patch guards nf_conntrack_helper_register() from accessing a freed\nor uninitialized nf_ct_helper_hash pointer and fixes possible\nuses-after-free when loading a conntrack module."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"4ee69c91cb8f9ca144bc0861969e5a1a3c6152a7","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"00716f25f9697d02a0d9bd622575c7c7321ba3d0","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"61c7a5256543ae7d24cd9d21853d514c8632e1e9","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"8289d422f5e484efe4a565fe18e862ecd621c175","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"6f03ce2f1abcb9f9d0511e3659ca6eb60e39f566","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"05561f822f27b9fa88fa5504ddec34bf38833034","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"fce5cc7cbd4b92f979bf02c9ec5fb69aaeba92d7","versionType":"git"},{"version":"12f7a505331e6b2754684b509f2ac8f0011ce644","status":"affected","lessThan":"6eef7a2b933885a17679eb8ed0796ddf0ee5309b","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nf_conntrack_helper.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.6","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.6","versionType":"semver"},{"version":"4.14.322","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.291","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.251","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.188","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.121","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.39","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.4.4","status":"unaffected","lessThanOrEqual":"6.4.*","versionType":"semver"},{"version":"6.5","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nf_conntrack_helper.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/4ee69c91cb8f9ca144bc0861969e5a1a3c6152a7"},{"url":"https://git.kernel.org/stable/c/00716f25f9697d02a0d9bd622575c7c7321ba3d0"},{"url":"https://git.kernel.org/stable/c/61c7a5256543ae7d24cd9d21853d514c8632e1e9"},{"url":"https://git.kernel.org/stable/c/8289d422f5e484efe4a565fe18e862ecd621c175"},{"url":"https://git.kernel.org/stable/c/6f03ce2f1abcb9f9d0511e3659ca6eb60e39f566"},{"url":"https://git.kernel.org/stable/c/05561f822f27b9fa88fa5504ddec34bf38833034"},{"url":"https://git.kernel.org/stable/c/fce5cc7cbd4b92f979bf02c9ec5fb69aaeba92d7"},{"url":"https://git.kernel.org/stable/c/6eef7a2b933885a17679eb8ed0796ddf0ee5309b"}],"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"},"scenarios":[{"lang":"en","value":"AV:L - The trigger is a local netlink/setsockopt operation (nftables ct helper object or iptables `-j CT --helper`) that drives conntrack-helper module autoloading, or a direct module load; no network-facing code path reaches `nf_conntrack_helper_register()`.\nAC:L - Per CVSS 3.1 §2.1.2, the base metrics are scored with the vulnerable component in its vulnerable configuration (built-in conntrack whose init failed, which is deterministic per boot on affected builds); in that state the attacker triggers `nf_conntrack_helper_register()` on demand and repeatably by naming different helpers, with no race or unknowable state to win.\nPR:L - An unprivileged local user obtains CAP_NET_ADMIN via `unshare -Urn`, since nfnetlink/nftables gates only on `netlink_net_capable(skb, CAP_NET_ADMIN)` and `__request_module()` performs no capability check, so `nft_ct_helper_obj_init()` autoloads the helper module that hits the dangling hash.\nUI:N - No victim action is needed; the attacker performs the entire sequence itself in its own network/user namespace.\nS:U - The corruption is confined to kernel memory within the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - The bucket walk dereferences attacker-controlled pointers from the reallocated page (`strcmp(cur->name, me->name)`) giving an arbitrary-read/oracle primitive, and `rcu_assign_pointer(h->first, n)` writes a module `.data` pointer into memory the attacker can spray and read back, defeating KASLR.\nI:H - `WRITE_ONCE(first->pprev, &n->next)` in `hlist_add_head_rcu()` writes a known kernel pointer to an address fully controlled by the attacker-sprayed contents of the freed page — a write-what/where primitive suitable for control-flow hijack.\nA:H - Use-after-free on a freed page walked as an hlist reliably causes oops/panic or the \"random memory corruption\" the fix's author describes, taking down the kernel."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T09:15:10.461Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.6","versionEndExcluding":"4.14.322"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.6","versionEndExcluding":"4.19.291"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.6","versionEndExcluding":"5.4.251"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.6","versionEndExcluding":"5.10.188"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.6","versionEndExcluding":"5.15.121"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.6","versionEndExcluding":"6.1.39"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.6","versionEndExcluding":"6.4.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.6","versionEndExcluding":"6.5"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2023-53619","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-15T21:35:57.896822Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-15T21:41:31.970Z"}}]}}}