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

ipv4: fib: free fib_alias with kfree_rcu() on insert error path

fib_table_insert() publishes new_fa into the leaf's fa_list with
fib_insert_alias() before calling the fib entry notifiers. When a
notifier fails, the error path removes new_fa with fib_remove_alias()
(hlist_del_rcu) and frees it right away with kmem_cache_free().

fib_table_lookup() walks that list under rcu_read_lock() only, so a
concurrent lookup that already reached new_fa keeps reading it after the
free:

BUG: KASAN: slab-use-after-free in fib_table_lookup (net/ipv4/fib_trie.c:1601)
Read of size 1 at addr ffff88810676d4eb by task exploit/297
Call Trace:
fib_table_lookup (net/ipv4/fib_trie.c:1601)
ip_route_output_key_hash_rcu (net/ipv4/route.c:2814)
ip_route_output_key_hash (net/ipv4/route.c:2705)
__ip4_datagram_connect (net/ipv4/datagram.c:49)
udp_connect (net/ipv4/udp.c:2144)
__sys_connect (net/socket.c:2167)
__x64_sys_connect (net/socket.c:2173)
do_syscall_64
entry_SYSCALL_64_after_hwframe
which belongs to the cache ip_fib_alias of size 56

Triggering the error path needs CAP_NET_ADMIN and a registered fib
notifier that can reject a route; a netdevsim device whose IPv4 FIB
resource is exhausted is enough.

Free new_fa with alias_free_mem_rcu(), as fib_table_delete() already
does for a fib_alias removed from the trie.
Published: 2026-08-05
Score: 7.0 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises in the IPv4 Forwarding Information Base (FIB) implementation of the Linux kernel. During a route insertion, a newly allocated alias is registered and then, if a notifier fails, it is removed and freed immediately. A concurrent lookup can still access the freed alias, causing a read of freed memory. The result is a Use‑After‑Free that could allow an attacker to corrupt kernel memory, potentially leading to privilege escalation or a crash.

Affected Systems

All Linux kernels that include the affected FIB code before the commit that introduces the fix. No explicit version range is listed, so any system running a pre‑fixed kernel is susceptible.

Risk and Exploitability

The exploit requires the CAP_NET_ADMIN capability and a fib notifier that rejects a route. A local attacker with such privileges can trigger the path, making the risk local but with high impact. The EPSS score is < 1% and the vulnerability has not been listed in CISA’s KEV catalog, indicating no known public exploitation at the time of reporting. The CVSS score is 7.0. Given the severity of a use‑after‑free and the privilege requirements, the overall risk is considered significant for affected systems.

Generated by OpenCVE AI on August 6, 2026 at 16:34 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the commit fixing the alias removal logic.
  • Restrict CAP_NET_ADMIN permissions and minimize the use of custom fib notifier modules that can reject routes.
  • Monitor kernel logs for KASAN or use‑after‑free warnings and apply kernel mitigations such as enabling CONFIG_KASAN or improved RCU safety if available.

Generated by OpenCVE AI on August 6, 2026 at 16:34 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4745-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6415-1 linux security update
History

Wed, 19 Aug 2026 16:45:00 +0000


Thu, 06 Aug 2026 14:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Thu, 06 Aug 2026 12:15:00 +0000

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

None

cvssV3_1

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

threat_severity

Moderate


Wed, 05 Aug 2026 09:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 05 Aug 2026 08:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ipv4: fib: free fib_alias with kfree_rcu() on insert error path fib_table_insert() publishes new_fa into the leaf's fa_list with fib_insert_alias() before calling the fib entry notifiers. When a notifier fails, the error path removes new_fa with fib_remove_alias() (hlist_del_rcu) and frees it right away with kmem_cache_free(). fib_table_lookup() walks that list under rcu_read_lock() only, so a concurrent lookup that already reached new_fa keeps reading it after the free: BUG: KASAN: slab-use-after-free in fib_table_lookup (net/ipv4/fib_trie.c:1601) Read of size 1 at addr ffff88810676d4eb by task exploit/297 Call Trace: fib_table_lookup (net/ipv4/fib_trie.c:1601) ip_route_output_key_hash_rcu (net/ipv4/route.c:2814) ip_route_output_key_hash (net/ipv4/route.c:2705) __ip4_datagram_connect (net/ipv4/datagram.c:49) udp_connect (net/ipv4/udp.c:2144) __sys_connect (net/socket.c:2167) __x64_sys_connect (net/socket.c:2173) do_syscall_64 entry_SYSCALL_64_after_hwframe which belongs to the cache ip_fib_alias of size 56 Triggering the error path needs CAP_NET_ADMIN and a registered fib notifier that can reject a route; a netdevsim device whose IPv4 FIB resource is exhausted is enough. Free new_fa with alias_free_mem_rcu(), as fib_table_delete() already does for a fib_alias removed from the trie.
Title ipv4: fib: free fib_alias with kfree_rcu() on insert error path
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-19T16:28:49.541Z

Reserved: 2026-07-19T15:36:31.797Z

Link: CVE-2026-64572

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-05T08:16:36.927

Modified: 2026-08-19T17:20:17.080

Link: CVE-2026-64572

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-64572 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-06T16:45:07Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference