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

ipv6: Fix dst leak for uncached routes.

ip6_route_output_flags(), ip6_rt_put_flags(), and ip6_dst_check()
detect an uncached route by list_empty(&rt->dst.rt_uncached),
which replaced the static DST_NOCACHE flag check in commit
a4c2fd7f7891 ("net: remove DST_NOCACHE flag").

When a device is unregistered, rt6_uncached_list_flush_dev()
unlinks uncached routes tied to the device from rt6_uncached_list.

Previously, they were moved to another list with list_move()
(__list_del_entry() + list_add()), and since commit 98aa546af5e4
("inet: remove (struct uncached_list)->quarantine"), the routes
are just unlinked with list_del_init().

If list_del_init() runs concurrently, list_empty() evaluates to
true; ip6_route_output_flags() calls dst_hold_safe() incorrectly
and ip6_rt_put_flags() skips ip6_rt_put(), leaking dst, and thus
dev tied via rt->from as well.

The same race is partially fixed by commit 9a6f0c4d5796 ("dst:
fix races in rt6_uncached_list_del() and rt_del_uncached_list()").

Let's check rt6->dst.rt_uncached_list instead.

Note that IPv4 does not have the same issue.
Published: 2026-10-18
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Potential Denial of Service via resource exhaustion
Action: Apply Patch
AI Analysis

Impact

A race condition exists within the IPv6 routing code of the Linux kernel. When an unregistered network device is being processed for an uncached route, concurrent list manipulation can lead the code to incorrectly hold a reference to the device’s destination topology. The leaked reference keeps the destination entry alive, ultimately resulting in a kernel resource leak. While no privilege escalation or data exposure occurs, repeated leaks could exhaust memory and degrade system availability.

Affected Systems

All Linux kernel builds that lack the commit that adds proper locking around uncached IPv6 routes. Distributions running kernels prior to the inclusion of commit 5045aa25f3790dcdb158a58ac60ccf8da42959aa, which contains the race‑condition fix, are affected. Specific release identifiers are not listed in the advisory, so any kernel version without the fix should be considered vulnerable.

Risk and Exploitability

The CVSS score of 5.5 indicates moderate severity, and the EPSS score of less than 1% reflects a very low likelihood of exploitation in the wild. The vulnerability is not present in the CISA KEV catalog. Based on the description, it is inferred that exploitation would require a local kernel or driver‑level anomaly that triggers the race between device unregistration and route lookup, making it largely a local, low‑amplitude risk.

Generated by OpenCVE AI on October 22, 2026 at 22:24 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Patch the kernel to address CWE‑772: Uncontrolled Resource Consumption by applying the commit that implements proper locking for IPv6 uncached route lists (commit 5045aa25f3790dcdb158a58ac60ccf8da42959aa or later).
  • Reboot the system so that the updated kernel and its modules are fully loaded and operational.
  • If an immediate upgrade is not possible, consider disabling IPv6 on interfaces that are prone to frequent device unregistration or restrict driver activity to avoid the race condition until a patch is applied.

Generated by OpenCVE AI on October 22, 2026 at 22:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
History

Tue, 20 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Tue, 20 Oct 2026 12:45:00 +0000

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

None

cvssV3_1

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

threat_severity

Moderate


Sun, 18 Oct 2026 23:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Sun, 18 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ipv6: Fix dst leak for uncached routes. ip6_route_output_flags(), ip6_rt_put_flags(), and ip6_dst_check() detect an uncached route by list_empty(&rt->dst.rt_uncached), which replaced the static DST_NOCACHE flag check in commit a4c2fd7f7891 ("net: remove DST_NOCACHE flag"). When a device is unregistered, rt6_uncached_list_flush_dev() unlinks uncached routes tied to the device from rt6_uncached_list. Previously, they were moved to another list with list_move() (__list_del_entry() + list_add()), and since commit 98aa546af5e4 ("inet: remove (struct uncached_list)->quarantine"), the routes are just unlinked with list_del_init(). If list_del_init() runs concurrently, list_empty() evaluates to true; ip6_route_output_flags() calls dst_hold_safe() incorrectly and ip6_rt_put_flags() skips ip6_rt_put(), leaking dst, and thus dev tied via rt->from as well. The same race is partially fixed by commit 9a6f0c4d5796 ("dst: fix races in rt6_uncached_list_del() and rt_del_uncached_list()"). Let's check rt6->dst.rt_uncached_list instead. Note that IPv4 does not have the same issue.
Title ipv6: Fix dst leak for uncached routes.
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:22:21.750Z

Reserved: 2026-09-25T10:25:14.359Z

Link: CVE-2026-98596

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:12.283

Modified: 2026-10-19T10:19:20.913

Link: CVE-2026-98596

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98596 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T22:30:13Z

Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime