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

netfilter: nf_conntrack_expect: use conntrack GC to reap expectations

This patch replaces the timer API by GC worker approach for
expectations, as it already happened in many other subsystems.

Use the existing conntrack GC worker to iterate over the local list of
expectations in the master conntrack to reap expired expectations.
Check IPS_HELPER_BIT to run GC for expectations, set it on for nft_ct
expectation which nevers sets it. Hold the expectation spinlock while
iterating over the master conntrack expectation list to synchronize with
nf_ct_remove_expectations(). This also performs runtime packet path
garbage collection through the expectation insertion and lookup
functions while walking over one of the chains of the global expectation
hashtables. Unconfirmed conntrack entries are skipped since ct->ext can
be reallocated and dying are skipped since those will be gone soon.
Set on IPS_HELPER_BIT if the helper ct extension is added, then the new
GC worker does not need to bump the ct refcount to check if the ct->ext
helper is available.

This removes the extra bump on the refcount for expectation timers, this
allows to remove several nf_ct_expect_put() calls after the unlink,
after this update only refcount remains at 1 while on the expectation
hashes.

This patch implicitly addresses a race with the existing timer API
allowing an expectation to access a stale exp->master pointer which has
been already released when expectation removal loses races with an
expiring timer, ie. timer_del() reporting false.

Add a new NF_CT_EXPECT_DEAD flag to reap this expectation via GC. This
is needed by nf_conntrack_unexpect_related() which is called in error
paths to invalidate newly created expectations that has been added into
the hashes. These expectactions cannot be inmediately released as GC or
nf_ct_remove_expectations() could race to make it. On expectation
insert, the runtime GC reaps stale expectations before checking the
expectation limit set by policy.

Set current timestamp in nf_ct_expect_alloc(), then add the expectation
policy timeout (or custom timeout specified added on top of this) to
specify the expectation lifetime.
Published: 2026-08-28
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Kernel memory corruption (use‑after‑free) leading to crash
Action: Patch immediately
AI Analysis

Impact

The Linux kernel’s netfilter nf_conntrack_expect subsystem suffers a race between the legacy timer API and the newer garbage‑collection worker. When an expectation expires, the timer may delete its master connection reference while the GC worker still iterates over the expectation list, causing a use‑after‑free and potential kernel memory corruption. This can lead to an unexpected kernel crash. Based on the description, it is inferred that exploitation could also lead to privilege escalation.

Affected Systems

All standard Linux kernel builds that contain the nf_conntrack_expect code and have not applied the recent patch that replaces the timer mechanism with a garbage‑collection worker. The bug is present in the default kernel tree and therefore affects every distribution or vendor that ships a kernel without the update, including all mainstream Linux distributions and embedded systems.

Risk and Exploitability

The CVSS score of 9.8 indicates critical severity, while the EPSS score of < 1% shows a very low but nonzero likelihood of exploitation. The flaw is not listed in the CISA KEV catalog. Based on the description, it is inferred that an attacker could manipulate packet expectations via network traffic to trigger the vulnerable code path. Exploitation would require controlled network traffic exercising the expectation handling path, potentially from a remote attacker, and would need to trigger the specific race condition. No public exploit is currently documented. Kernel memory corruption could result in a system crash.

Generated by OpenCVE AI on September 2, 2026 at 06:13 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Deploy a kernel update that includes the nf_conntrack_expect garbage‑collection patch.
  • If a kernel upgrade cannot be performed immediately, disable netfilter expectation handling by setting the appropriate sysctl or unloading the nf_conntrack modules to eliminate the vulnerable code path.
  • Monitor system logs for kernel panics, unexpected reboots, or anomalous network activity that may indicate exploitation attempts.

Generated by OpenCVE AI on September 2, 2026 at 06:13 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 01 Sep 2026 22:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 01 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

threat_severity

Moderate


Sat, 29 Aug 2026 10:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 29 Aug 2026 08:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 29 Aug 2026 06:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Fri, 28 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 28 Aug 2026 07:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_expect: use conntrack GC to reap expectations This patch replaces the timer API by GC worker approach for expectations, as it already happened in many other subsystems. Use the existing conntrack GC worker to iterate over the local list of expectations in the master conntrack to reap expired expectations. Check IPS_HELPER_BIT to run GC for expectations, set it on for nft_ct expectation which nevers sets it. Hold the expectation spinlock while iterating over the master conntrack expectation list to synchronize with nf_ct_remove_expectations(). This also performs runtime packet path garbage collection through the expectation insertion and lookup functions while walking over one of the chains of the global expectation hashtables. Unconfirmed conntrack entries are skipped since ct->ext can be reallocated and dying are skipped since those will be gone soon. Set on IPS_HELPER_BIT if the helper ct extension is added, then the new GC worker does not need to bump the ct refcount to check if the ct->ext helper is available. This removes the extra bump on the refcount for expectation timers, this allows to remove several nf_ct_expect_put() calls after the unlink, after this update only refcount remains at 1 while on the expectation hashes. This patch implicitly addresses a race with the existing timer API allowing an expectation to access a stale exp->master pointer which has been already released when expectation removal loses races with an expiring timer, ie. timer_del() reporting false. Add a new NF_CT_EXPECT_DEAD flag to reap this expectation via GC. This is needed by nf_conntrack_unexpect_related() which is called in error paths to invalidate newly created expectations that has been added into the hashes. These expectactions cannot be inmediately released as GC or nf_ct_remove_expectations() could race to make it. On expectation insert, the runtime GC reaps stale expectations before checking the expectation limit set by policy. Set current timestamp in nf_ct_expect_alloc(), then add the expectation policy timeout (or custom timeout specified added on top of this) to specify the expectation lifetime.
Title netfilter: nf_conntrack_expect: use conntrack GC to reap expectations
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-08-29T06:21:55.167Z

Reserved: 2026-08-26T14:34:25.782Z

Link: CVE-2026-80668

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-28T08:16:52.080

Modified: 2026-08-29T07:16:49.200

Link: CVE-2026-80668

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-28T00:00:00Z

Links: CVE-2026-80668 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-02T06:15:04Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference