CVE-2026-23111
netfilter: nf_tables: corriger la vérification inversée de genmask dans nft_map_catchall_activate()
- Publié
- 13 févr. 2026
- Mise à jour
- 8 sept. 2026
- Attribution de CNA
- Linux
- Preuve observée
- 8 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HFaible · 30 prochains jours
- Percentile
- 41,0 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
Dans le noyau Linux, la vulnérabilité suivante a été corrigée : netfilter : nf_tables : correction du contrôle de genmask inversé dans nft_map_catchall_activate() nft_map_catchall_activate() contient un contrôle d'activité des éléments inversé par rapport à son homologue non-catchall nft_mapelem_activate() et par rapport à ce qui est logiquement requis. nft_map_catchall_activate() est appelée depuis le chemin d'abandon pour réactiver les éléments de carte catchall qui ont été désactivés lors d'une transaction ayant échoué. Elle doit ignorer les éléments déjà actifs (ils n'ont pas besoin d'être réactivés) et traiter les éléments inactifs (ils doivent être restaurés). Au lieu de cela, le code actuel fait l'inverse : il ignore les éléments inactifs et traite les éléments actifs. Comparez avec le callback d'activation non-catchall, qui est correct : nft_mapelem_activate() : if (nft_set_elem_active(ext, iter->genmask)) return 0; /* ignore les actifs, traite les inactifs */ Avec la version catchall boguée : nft_map_catchall_activate() : if (!nft_set_elem_active(ext, genmask)) continue; /* ignore les inactifs, traite les actifs */ La conséquence est que lorsqu'une opération DELSET est abandonnée, nft_setelem_data_activate() n'est jamais appelée pour l'élément catchall. Pour les éléments de verdict NFT_GOTO, cela signifie que nft_data_hold() n'est jamais appelée pour restaurer le compteur de références chain->use. Chaque cycle d'abandon décrémente définitivement chain->use. Une fois que chain->use atteint zéro, DELCHAIN réussit et libère la chaîne alors que les éléments de verdict catchall la référencent toujours, ce qui entraîne une utilisation après libération (use-after-free). Cela est exploitable pour une élévation de privilèges locale par un utilisateur non privilégié via les espaces de noms utilisateur + nftables sur les distributions qui activent CONFIG_USER_NS et CONFIG_NF_TABLES. Correction en supprimant la négation afin que le contrôle corresponde à nft_mapelem_activate() : ignorer les éléments actifs, traiter les éléments inactifs.
Sources
7Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.