Description
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.
Published: 2026-09-25
Score: 7 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via kernel crash
Action: Update kernel
AI Analysis

Impact

In the Linux kernel the nf_log syslog and nfnetlink_log subsystems register per‑network‑namespace loggers. During module teardown the global logger is unregistered after the per‑net cleanup, creating a race window where a new logger can be bound while the stale per‑net reference remains. If a sysctl or netlink writer then uses that stale pointer a null dereference or use‑after‑free can occur, causing a kernel panic and bringing the system down. This flaw is a concurrency race (CWE‑825) that produces a denial‑of‑service condition by crashing the kernel.

Affected Systems

All Linux kernel installations that include the nf_log syslog or nfnetlink_log modules are affected. The CNAs identify the vendor as Linux:Linux and the CPE indicates the Linux kernel broadly. No specific kernel version is listed; any kernel lacking the ordering fix described in the patch is vulnerable.

Risk and Exploitability

The CVSS score is 7, which reflects high severity. The EPSS score is less than 1%, indicating a very low probability of exploitation. The flaw is not listed in CISA KEV. The attack requires triggering the unregister sequence followed by a writer that rebinds the logger; the description references sysctl or netlink writers, which typically need privileged access, so it is inferred that root or a privileged user must initiate the race. No public exploit is known, but if such a privilege is obtained, a single kernel crash can compromise availability.

Generated by OpenCVE AI on October 1, 2026 at 08:59 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to a kernel version that contains the ordering fix for the nf_log modules.
  • If a kernel upgrade is not immediately possible, disable or unload the nf_log_syslog and nfnetlink_log kernel modules to eliminate the race.
  • Restrict write access to relevant sysctl and netlink interfaces so that only trusted users can rebind loggers until the fix is applied.

Generated by OpenCVE AI on October 1, 2026 at 08:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DLA Debian DLA DLA-4841-1 linux security update
Debian DSA Debian DSA DSA-6528-1 linux security update
Ubuntu USN Ubuntu USN USN-8961-1 Linux kernel vulnerabilities
History

Sat, 03 Oct 2026 11:15:00 +0000


Wed, 30 Sep 2026 00:15:00 +0000


Fri, 25 Sep 2026 23:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416
CWE-476

Fri, 25 Sep 2026 15:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Fri, 25 Sep 2026 14:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416
CWE-476

Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
Description 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.
Title netfilter: nf_log: unregister loggers before per-net teardown
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:10:12.020Z

Reserved: 2026-09-24T16:01:01.158Z

Link: CVE-2026-97608

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:14.870

Modified: 2026-10-19T10:17:30.720

Link: CVE-2026-97608

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-97608 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T09:00:05Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference