Answer in brief
CVE-2025-38721 records a Medium severity (CVSS 5.5) vulnerability in netfilter: ctnetlink: fix refcount leak on table dump. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic), Siemens/SIMATIC CN 4100 (generic), Siemens/SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (generic) and additional mapped packages. Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
Answer in brief
CVE-2025-38721 records a Medium severity (CVSS 5.5) vulnerability in netfilter: ctnetlink: fix refcount leak on table dump. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic), Siemens/SIMATIC CN 4100 (generic), Siemens/SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (generic) and additional mapped packages. Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
CVSS is 5.5. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic), Linux/Linux (generic), Siemens/SIMATIC CN 4100 (generic), Siemens/SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (generic) and additional mapped packages. Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=d205dc40798d97d63ad348bfaf7394f445d152d4 <586892e341fbf698e7cbaca293e1353957db725a || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <962518c6ca9f9a13df099cafa429f72f68ad61f0 || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <19b909a4b1452fb97e477d2f08b97f8d04095619 || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <41462f4cfc583513833f87f9ee55d12da651a7e3 || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <30cf811058552b8cd0e98dff677ef3f89d6d34ce || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <a2cb4df7872de069f809de2f076ec8e54d649fe3 || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <e14f72aa66c029db106921d621edcedef68e065b || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <a62d6aa3f31f216b637a4c71b7a8bfc7c57f049b || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <de788b2e6227462b6dcd0e07474e72c089008f74 | 586892e341fbf698e7cbaca293e1353957db725a, 962518c6ca9f9a13df099cafa429f72f68ad61f0, 19b909a4b1452fb97e477d2f08b97f8d04095619, 41462f4cfc583513833f87f9ee55d12da651a7e3, 30cf811058552b8cd0e98dff677ef3f89d6d34ce, a2cb4df7872de069f809de2f076ec8e54d649fe3, e14f72aa66c029db106921d621edcedef68e065b, a62d6aa3f31f216b637a4c71b7a8bfc7c57f049b, de788b2e6227462b6dcd0e07474e72c089008f74 |
| Linux/Linuxgeneric | 2.6.18 | Not reported |
| Siemens/SIMATIC CN 4100generic | >=0 <V5.0 | V5.0 |
| Siemens/SIMATIC S7-1500 CPU 1518-4 PN/DP MFPgeneric | >=V3.1.5 <* | * |
| Siemens/SIMATIC S7-1500 CPU 1518-4 PN/DP MFPgeneric | >=V3.1.6 <* | * |
| Siemens/SIMATIC S7-1500 CPU 1518F-4 PN/DP MFPgeneric | >=V3.1.5 <* | * |
| Siemens/SIMATIC S7-1500 CPU 1518F-4 PN/DP MFPgeneric | >=V3.1.6 <* | * |
| Siemens/SIPLUS S7-1500 CPU 1518-4 PN/DP MFPgeneric | >=V3.1.5 <* | * |
| Siemens/SIPLUS S7-1500 CPU 1518-4 PN/DP MFPgeneric | >=V3.1.6 <* | * |
Published upstream
Sep 4, 2025
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Jul 14, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Jul 14, 2026
In the Linux kernel, the following vulnerability has been resolved: netfilter: ctnetlink: fix refcount leak on table dump There is a reference count leak in ctnetlink_dump_table(): if (res < 0) { nf_conntrack_get(&ct->ct_general); // HERE cb->args[1] = (unsigned long)ct; ... While its very unlikely, its possible that ct == last. If this happens, then the refcount of ct was already incremented. This 2nd increment is never undone. This prevents the conntrack object from being released, which in turn keeps prevents cnet->count from dropping back to 0. This will then block the netns dismantle (or conntrack rmmod) as nf_conntrack_cleanup_net_list() will wait forever. This can be reproduced by running conntrack_resize.sh selftest in a loop. It takes ~20 minutes for me on a preemptible kernel on average before I see a runaway kworker spinning in nf_conntrack_cleanup_net_list. One fix would to change this to: if (res < 0) { if (ct != last) nf_conntrack_get(&ct->ct_general); But this reference counting isn't needed in the first place. We can just store a cookie value instead. A followup patch will do the same for ctnetlink_exp_dump_table, it looks to me as if this has the same problem and like ctnetlink_dump_table, we only need a 'skip hint', not the actual object so we can apply the same cookie strategy there as well.
Quoted source text, attributed separately from HOL analysis.
CVSS is 5.5. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic), Linux/Linux (generic), Siemens/SIMATIC CN 4100 (generic), Siemens/SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (generic) and additional mapped packages. Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=d205dc40798d97d63ad348bfaf7394f445d152d4 <586892e341fbf698e7cbaca293e1353957db725a || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <962518c6ca9f9a13df099cafa429f72f68ad61f0 || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <19b909a4b1452fb97e477d2f08b97f8d04095619 || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <41462f4cfc583513833f87f9ee55d12da651a7e3 || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <30cf811058552b8cd0e98dff677ef3f89d6d34ce || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <a2cb4df7872de069f809de2f076ec8e54d649fe3 || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <e14f72aa66c029db106921d621edcedef68e065b || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <a62d6aa3f31f216b637a4c71b7a8bfc7c57f049b || >=d205dc40798d97d63ad348bfaf7394f445d152d4 <de788b2e6227462b6dcd0e07474e72c089008f74 | 586892e341fbf698e7cbaca293e1353957db725a, 962518c6ca9f9a13df099cafa429f72f68ad61f0, 19b909a4b1452fb97e477d2f08b97f8d04095619, 41462f4cfc583513833f87f9ee55d12da651a7e3, 30cf811058552b8cd0e98dff677ef3f89d6d34ce, a2cb4df7872de069f809de2f076ec8e54d649fe3, e14f72aa66c029db106921d621edcedef68e065b, a62d6aa3f31f216b637a4c71b7a8bfc7c57f049b, de788b2e6227462b6dcd0e07474e72c089008f74 |
| Linux/Linuxgeneric | 2.6.18 | Not reported |
| Siemens/SIMATIC CN 4100generic | >=0 <V5.0 | V5.0 |
| Siemens/SIMATIC S7-1500 CPU 1518-4 PN/DP MFPgeneric | >=V3.1.5 <* | * |
| Siemens/SIMATIC S7-1500 CPU 1518-4 PN/DP MFPgeneric | >=V3.1.6 <* | * |
| Siemens/SIMATIC S7-1500 CPU 1518F-4 PN/DP MFPgeneric | >=V3.1.5 <* | * |
| Siemens/SIMATIC S7-1500 CPU 1518F-4 PN/DP MFPgeneric | >=V3.1.6 <* | * |
| Siemens/SIPLUS S7-1500 CPU 1518-4 PN/DP MFPgeneric | >=V3.1.5 <* | * |
| Siemens/SIPLUS S7-1500 CPU 1518-4 PN/DP MFPgeneric | >=V3.1.6 <* | * |
Published upstream
Sep 4, 2025
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Jul 14, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Jul 14, 2026
In the Linux kernel, the following vulnerability has been resolved: netfilter: ctnetlink: fix refcount leak on table dump There is a reference count leak in ctnetlink_dump_table(): if (res < 0) { nf_conntrack_get(&ct->ct_general); // HERE cb->args[1] = (unsigned long)ct; ... While its very unlikely, its possible that ct == last. If this happens, then the refcount of ct was already incremented. This 2nd increment is never undone. This prevents the conntrack object from being released, which in turn keeps prevents cnet->count from dropping back to 0. This will then block the netns dismantle (or conntrack rmmod) as nf_conntrack_cleanup_net_list() will wait forever. This can be reproduced by running conntrack_resize.sh selftest in a loop. It takes ~20 minutes for me on a preemptible kernel on average before I see a runaway kworker spinning in nf_conntrack_cleanup_net_list. One fix would to change this to: if (res < 0) { if (ct != last) nf_conntrack_get(&ct->ct_general); But this reference counting isn't needed in the first place. We can just store a cookie value instead. A followup patch will do the same for ctnetlink_exp_dump_table, it looks to me as if this has the same problem and like ctnetlink_dump_table, we only need a 'skip hint', not the actual object so we can apply the same cookie strategy there as well.
Quoted source text, attributed separately from HOL analysis.