Aller au contenu
Non notée

CVE-2025-38721 netfilter: ctnetlink: fix refcount leak on table dump

Description

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.

Produits et versions touchés

Produit Versions touchées Corrigé en
Linux 6.17 premières → < 6.17 6.17
Linux 6.16 premières → < 6.16.2 6.16.2
Linux 6.15 premières → < 6.15.11 6.15.11
Linux 6.12 premières → < 6.12.43 6.12.43
Linux 6.6 premières → < 6.6.103 6.6.103
Linux 6.1 premières → < 6.1.149 6.1.149
Linux 5.15 premières → < 5.15.190 5.15.190
Linux 5.10 premières → < 5.10.241 5.10.241
Linux 5.4 premières → < 5.4.297 5.4.297
Afficher les 5 autres branches
Produit Versions touchées Corrigé en
Linux 2.6.18 Pas de correctif indiqué
SIMATIC CN 4100 5.0 premières → < 5.0 5.0
SIMATIC S7-1500 CPU 1518-4 PN/DP MFP 3.1 3.1.7 → dernières Pas de correctif indiqué
SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP 3.1 3.1.7 → dernières Pas de correctif indiqué
SIPLUS S7-1500 CPU 1518-4 PN/DP MFP 3.1 3.1.7 → dernières Pas de correctif indiqué

Références

Chronologie

  1. Publiée
  2. Dernière modification
Les 18283 CVE de Linux →
Suivre cette CVE