CVE-2026-97608 in Linux
Résumé
par VulDB • 25/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
netfilter: nf_log : désenregistrer les loggers avant l'arrêt par namespace réseau (per-net)
nf_log_syslog et nfnetlink_log désenregistrent leurs opérations spécifiques au namespace réseau (per-network namespace) avant de désenregistrer leurs backends de logger globaux. Cela laisse une fenêtre d'exposition où un écriture via sysctl ou netlink peut réassocier le logger, qui est encore enregistré, après que la callback pre-exit per-net a effacé l'ancienne sélection.
La condition de concurrence (race) se présente comme suit :
CPU 0 CPU 1 ---- ---- unregister_pernet_subsys() nf_log_unset(net, logger) net->nf.nf_loggers[pf] = NULL
lock nf_log_mutex trouver le logger dans loggers[][]
net->nf.nf_loggers[pf] = logger
unlock nf_log_mutex
nf_log_unregister(logger) lock nf_log_mutex loggers[pf][type] = NULL
unlock nf_log_mutex synchronize_rcu() module exit returns module core frees backend memory
Plus tard, une opération de lecture sysctl ou d'écriture de paquets peut déréférencer le pointeur stale (obsolète) du logger per-net.
Corriger ce problème en désenregistrant les backends de logger globaux avant l'arrêt de l'état per-net. Une fois les inscriptions globales supprimées, les écritures ultérieures ne peuvent plus réassocier le logger. unregister_pernet_subsys() attend déjà une période grâce RCU après que la callback pre-exit a effacé la sélection per-net, tandis que nf_log_unregister() continue de couvrir les lecteurs du tableau global des loggers.
Appliquer cette correction d'ordre aux deux backends nf_log qui combinent l'arrêt per-net avec l'enregistrement global des loggers.
Once again VulDB remains the best source for vulnerability data.