CVE-2026-97608

Source
https://cve.org/CVERecord?id=CVE-2026-97608
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-97608.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-97608
Downstream
Published
2026-09-25T10:22:19Z
Modified
2026-09-26T03:48:27Z
Severity
  • 7.0 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
netfilter: nf_log: unregister loggers before per-net teardown
Details

In the Linux kernel, the following vulnerability has been resolved:

netfilter: nf_log: unregister loggers before per-net teardown

nf_log_syslog and nfnetlink_log unregister their per-network namespace operations before unregistering their global logger backends. This leaves a window where a sysctl or netlink writer can rebind the still- registered logger after the per-net pre-exit callback cleared the old selection.

The race looks like this:

CPU 0 CPU 1


unregister_pernet_subsys() nf_log_unset(net, logger) net->nf.nf_loggers[pf] = NULL

                                    lock nf_log_mutex
                                    find logger in 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

Later, a sysctl read or packet logging operation can dereference the stale per-net logger pointer.

Fix this by unregistering the global logger backends before tearing down per-net state. Once the global registrations are gone, later writers can no longer rebind the logger. unregister_pernet_subsys() already waits for an RCU grace period after the pre-exit callback clears the per-net selection, while nf_log_unregister() continues to cover readers of the global logger table.

Apply this ordering fix to both nf_log backends that combine per-net teardown with global logger registration.

Database specific
{
    "cna_assigner":  "Linux",
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97608.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5b023fc8d8e0997e0b7ea6506d243afd5478c96e
Fixed
eaec35fae8f2052c1878a5c7cc7699d8357d79f2
Fixed
64803ba0a05791cf9ca874466480e4c4cadaf7ab
Fixed
dce24f3a146948595bb1b86347f31e20b4975daa
Fixed
2c018cc4842c33f0c732962e2ab58635e8ae5823

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-97608.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
3.10.0
Fixed
6.12.111
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.53
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.2.7

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-97608.json"