CVE-2025-38721
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
04/09/2025
Last modified:
09/01/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
netfilter: ctnetlink: fix refcount leak on table dump<br />
<br />
There is a reference count leak in ctnetlink_dump_table():<br />
if (res ct_general); // HERE<br />
cb->args[1] = (unsigned long)ct;<br />
...<br />
<br />
While its very unlikely, its possible that ct == last.<br />
If this happens, then the refcount of ct was already incremented.<br />
This 2nd increment is never undone.<br />
<br />
This prevents the conntrack object from being released, which in turn<br />
keeps prevents cnet->count from dropping back to 0.<br />
<br />
This will then block the netns dismantle (or conntrack rmmod) as<br />
nf_conntrack_cleanup_net_list() will wait forever.<br />
<br />
This can be reproduced by running conntrack_resize.sh selftest in a loop.<br />
It takes ~20 minutes for me on a preemptible kernel on average before<br />
I see a runaway kworker spinning in nf_conntrack_cleanup_net_list.<br />
<br />
One fix would to change this to:<br />
if (res ct_general);<br />
<br />
But this reference counting isn&#39;t needed in the first place.<br />
We can just store a cookie value instead.<br />
<br />
A followup patch will do the same for ctnetlink_exp_dump_table,<br />
it looks to me as if this has the same problem and like<br />
ctnetlink_dump_table, we only need a &#39;skip hint&#39;, not the actual<br />
object so we can apply the same cookie strategy there as well.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.19 (including) | 5.4.297 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.241 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.190 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.149 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.103 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.43 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.15.11 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.16 (including) | 6.16.2 (excluding) |
| cpe:2.3:o:linux:linux_kernel:2.6.18:-:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:2.6.18:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:2.6.18:rc6:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:2.6.18:rc7:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.17:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/19b909a4b1452fb97e477d2f08b97f8d04095619
- https://git.kernel.org/stable/c/30cf811058552b8cd0e98dff677ef3f89d6d34ce
- https://git.kernel.org/stable/c/41462f4cfc583513833f87f9ee55d12da651a7e3
- https://git.kernel.org/stable/c/586892e341fbf698e7cbaca293e1353957db725a
- https://git.kernel.org/stable/c/962518c6ca9f9a13df099cafa429f72f68ad61f0
- https://git.kernel.org/stable/c/a2cb4df7872de069f809de2f076ec8e54d649fe3
- https://git.kernel.org/stable/c/a62d6aa3f31f216b637a4c71b7a8bfc7c57f049b
- https://git.kernel.org/stable/c/de788b2e6227462b6dcd0e07474e72c089008f74
- https://git.kernel.org/stable/c/e14f72aa66c029db106921d621edcedef68e065b
- https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html



