---
id: CVE-2026-64572
title: 'ipv4: fib: free fib_alias with kfree_rcu() on insert error path'
summary: |-
  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 …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c <
    9d0778571def598c31e84a38ae5a7ebc6f65e6d8
  - >-
    Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c <
    bb03350f974aec352b660d032a1d283eb462165a
  - >-
    Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c <
    6429c9cfd941e62acd7bb0bc64d631574d4c3b2a
  - >-
    Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c <
    8150b5365f026e72250cacc527ea00be30f40105
  - >-
    Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c <
    d007056868723de9c0cc3f5ffaad47a8d468b9a4
  - >-
    Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c <
    cb8be318b4432abd88d3172ec157330f27a5f7a7
  - >-
    Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c <
    b8d2ea75c76abcd0d72679c2f488271f573e32fb
  - >-
    Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c <
    f2f152e94a67bc746afaf05a1b2702c195553112
  - Linux 5.6
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-06T16:41:42.353630Z'
published: '2026-08-05'
updated: '2026-11-06'
sourceUpdated: '2026-11-06T16:44:57.697Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-64572'
references:
  - url: 'https://git.kernel.org/stable/c/9d0778571def598c31e84a38ae5a7ebc6f65e6d8'
  - url: 'https://git.kernel.org/stable/c/bb03350f974aec352b660d032a1d283eb462165a'
  - url: 'https://git.kernel.org/stable/c/6429c9cfd941e62acd7bb0bc64d631574d4c3b2a'
  - url: 'https://git.kernel.org/stable/c/8150b5365f026e72250cacc527ea00be30f40105'
  - url: 'https://git.kernel.org/stable/c/d007056868723de9c0cc3f5ffaad47a8d468b9a4'
  - url: 'https://git.kernel.org/stable/c/cb8be318b4432abd88d3172ec157330f27a5f7a7'
  - url: 'https://git.kernel.org/stable/c/b8d2ea75c76abcd0d72679c2f488271f573e32fb'
  - url: 'https://git.kernel.org/stable/c/f2f152e94a67bc746afaf05a1b2702c195553112'
tags:
  - cve.org
epss: 0.00201
epssPercentile: 0.10123
ingestedAt: '2026-11-06T16:57:43.150Z'
---

## Overview

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.

## Affected

- `Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c < 9d0778571def598c31e84a38ae5a7ebc6f65e6d8`
- `Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c < bb03350f974aec352b660d032a1d283eb462165a`
- `Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c < 6429c9cfd941e62acd7bb0bc64d631574d4c3b2a`
- `Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c < 8150b5365f026e72250cacc527ea00be30f40105`
- `Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c < d007056868723de9c0cc3f5ffaad47a8d468b9a4`
- `Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c < cb8be318b4432abd88d3172ec157330f27a5f7a7`
- `Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c < b8d2ea75c76abcd0d72679c2f488271f573e32fb`
- `Linux >= a6c76c17df021b141b0d306828c9fe4ba2d2717c < f2f152e94a67bc746afaf05a1b2702c195553112`
- `Linux 5.6`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
