{"id":"CVE-2025-38721","state":"PUBLISHED","title":"netfilter: ctnetlink: fix refcount leak on table dump","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: ctnetlink: fix refcount leak on table dump\n\nThere is a reference count leak in ctnetlink_dump_table():\n      if (res < 0) {\n                nf_conntrack_get(&ct->ct_general); // HERE\n                cb->args[1] = (unsigned long)ct;\n                ...\n\nWhile its very unlikely, its possible that ct == last.\nIf this happens, then the refcount of ct was already incremented.\nThis 2nd increment is never undone.\n\nThis prevents the conntrack object from being released, which in turn\nkeeps prevents cnet->count from dropping back to 0.\n\nThis will then block the netns dismantle (or conntrack rmmod) as\nnf_conntrack_cleanup_net_list() will wait forever.\n\nThis can be reproduced by running conntrack_resize.sh selftest in a loop.\nIt takes ~20 minutes for me on a preemptible kernel on average before\nI see a runaway kworker spinning in nf_conntrack_cleanup_net_list.\n\nOne fix would to change this to:\n        if (res < 0) {\n\t\tif (ct != last)\n\t                nf_conntrack_get(&ct->ct_general);\n\nBut this reference counting isn't needed in the first place.\nWe can just store a cookie value instead.\n\nA followup patch will do the same for ctnetlink_exp_dump_table,\nit looks to me as if this has the same problem and like\nctnetlink_dump_table, we only need a 'skip hint', not the actual\nobject so we can apply the same cookie strategy there as well.","publishedAt":"2025-09-04T15:33:14.891Z","updatedAt":"2026-10-15T01:07:46.191Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"586892e341fbf698e7cbaca293e1353957db725a","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"962518c6ca9f9a13df099cafa429f72f68ad61f0","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"19b909a4b1452fb97e477d2f08b97f8d04095619","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"41462f4cfc583513833f87f9ee55d12da651a7e3","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"30cf811058552b8cd0e98dff677ef3f89d6d34ce","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"a2cb4df7872de069f809de2f076ec8e54d649fe3","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"e14f72aa66c029db106921d621edcedef68e065b","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"a62d6aa3f31f216b637a4c71b7a8bfc7c57f049b","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"de788b2e6227462b6dcd0e07474e72c089008f74","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nf_conntrack_netlink.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.18","versionType":"semver"},{"version":"5.4.297","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.241","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.190","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.149","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.103","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.43","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.15.11","status":"unaffected","lessThanOrEqual":"6.15.*","versionType":"semver"},{"version":"6.16.2","status":"unaffected","lessThanOrEqual":"6.16.*","versionType":"semver"},{"version":"6.17","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_netlink.c"]}],"references":["https://git.kernel.org/stable/c/586892e341fbf698e7cbaca293e1353957db725a","https://git.kernel.org/stable/c/962518c6ca9f9a13df099cafa429f72f68ad61f0","https://git.kernel.org/stable/c/19b909a4b1452fb97e477d2f08b97f8d04095619","https://git.kernel.org/stable/c/41462f4cfc583513833f87f9ee55d12da651a7e3","https://git.kernel.org/stable/c/30cf811058552b8cd0e98dff677ef3f89d6d34ce","https://git.kernel.org/stable/c/a2cb4df7872de069f809de2f076ec8e54d649fe3","https://git.kernel.org/stable/c/e14f72aa66c029db106921d621edcedef68e065b","https://git.kernel.org/stable/c/a62d6aa3f31f216b637a4c71b7a8bfc7c57f049b","https://git.kernel.org/stable/c/de788b2e6227462b6dcd0e07474e72c089008f74","https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html","https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html","https://cert-portal.siemens.com/productcert/html/ssa-082556.html","https://cert-portal.siemens.com/productcert/html/ssa-032379.html","https://cert-portal.siemens.com/productcert/html/ssa-019113.html","https://cert-portal.siemens.com/productcert/html/ssa-457936.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:09:09.358Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/38xxx/CVE-2025-38721.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-38721","state":"PUBLISHED","datePublished":"2025-09-04T15:33:14.891Z","dateUpdated":"2026-10-15T01:07:46.191Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-04-16T04:51:24.033Z"},"containers":{"cna":{"title":"netfilter: ctnetlink: fix refcount leak on table dump","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: ctnetlink: fix refcount leak on table dump\n\nThere is a reference count leak in ctnetlink_dump_table():\n      if (res < 0) {\n                nf_conntrack_get(&ct->ct_general); // HERE\n                cb->args[1] = (unsigned long)ct;\n                ...\n\nWhile its very unlikely, its possible that ct == last.\nIf this happens, then the refcount of ct was already incremented.\nThis 2nd increment is never undone.\n\nThis prevents the conntrack object from being released, which in turn\nkeeps prevents cnet->count from dropping back to 0.\n\nThis will then block the netns dismantle (or conntrack rmmod) as\nnf_conntrack_cleanup_net_list() will wait forever.\n\nThis can be reproduced by running conntrack_resize.sh selftest in a loop.\nIt takes ~20 minutes for me on a preemptible kernel on average before\nI see a runaway kworker spinning in nf_conntrack_cleanup_net_list.\n\nOne fix would to change this to:\n        if (res < 0) {\n\t\tif (ct != last)\n\t                nf_conntrack_get(&ct->ct_general);\n\nBut this reference counting isn't needed in the first place.\nWe can just store a cookie value instead.\n\nA followup patch will do the same for ctnetlink_exp_dump_table,\nit looks to me as if this has the same problem and like\nctnetlink_dump_table, we only need a 'skip hint', not the actual\nobject so we can apply the same cookie strategy there as well."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"586892e341fbf698e7cbaca293e1353957db725a","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"962518c6ca9f9a13df099cafa429f72f68ad61f0","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"19b909a4b1452fb97e477d2f08b97f8d04095619","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"41462f4cfc583513833f87f9ee55d12da651a7e3","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"30cf811058552b8cd0e98dff677ef3f89d6d34ce","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"a2cb4df7872de069f809de2f076ec8e54d649fe3","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"e14f72aa66c029db106921d621edcedef68e065b","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"a62d6aa3f31f216b637a4c71b7a8bfc7c57f049b","versionType":"git"},{"version":"d205dc40798d97d63ad348bfaf7394f445d152d4","status":"affected","lessThan":"de788b2e6227462b6dcd0e07474e72c089008f74","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nf_conntrack_netlink.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.18","versionType":"semver"},{"version":"5.4.297","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.241","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.190","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.149","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.103","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.43","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.15.11","status":"unaffected","lessThanOrEqual":"6.15.*","versionType":"semver"},{"version":"6.16.2","status":"unaffected","lessThanOrEqual":"6.16.*","versionType":"semver"},{"version":"6.17","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_netlink.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/586892e341fbf698e7cbaca293e1353957db725a"},{"url":"https://git.kernel.org/stable/c/962518c6ca9f9a13df099cafa429f72f68ad61f0"},{"url":"https://git.kernel.org/stable/c/19b909a4b1452fb97e477d2f08b97f8d04095619"},{"url":"https://git.kernel.org/stable/c/41462f4cfc583513833f87f9ee55d12da651a7e3"},{"url":"https://git.kernel.org/stable/c/30cf811058552b8cd0e98dff677ef3f89d6d34ce"},{"url":"https://git.kernel.org/stable/c/a2cb4df7872de069f809de2f076ec8e54d649fe3"},{"url":"https://git.kernel.org/stable/c/e14f72aa66c029db106921d621edcedef68e065b"},{"url":"https://git.kernel.org/stable/c/a62d6aa3f31f216b637a4c71b7a8bfc7c57f049b"},{"url":"https://git.kernel.org/stable/c/de788b2e6227462b6dcd0e07474e72c089008f74"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T21:33:42.047Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"5.4.297"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"5.10.241"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"5.15.190"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.1.149"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.6.103"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.12.43"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.15.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.16.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.17"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"},{"url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T17:41:50.589Z"}},{"affected":[{"vendor":"Siemens","product":"SIMATIC CN 4100","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"V5.0","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]}],"references":[{"url":"https://cert-portal.siemens.com/productcert/html/ssa-082556.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-032379.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-019113.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-457936.html"}],"providerMetadata":{"shortName":"siemens-SADP","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","dateUpdated":"2026-10-15T01:07:46.191Z"},"x_adpType":"supplier"}]}}}