---
id: CVE-2026-97598
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ipv4: fib: bound automatic table ID allocation

  fib_empty_table() probes every table ID from 1 until it finds a
  free one
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ipv4: fib: bound automatic table ID allocation

  fib_empty_table() probes every table ID from 1 until it finds a
  free one.  IPv4 tables are stored in a 256-bucket hash t…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= b801f54917b7c6e8540f877ee562cd0725e62ebd <
    bc8d01d856db106f284b19961af6112e10c3e3b4
  - >-
    Linux >= b801f54917b7c6e8540f877ee562cd0725e62ebd <
    fe9a906d2bff2d2707bafd6353b5e032a42aeb35
  - >-
    Linux >= b801f54917b7c6e8540f877ee562cd0725e62ebd <
    2c29c053a6627dc4f12fcfe6b4860bcd9e5d7503
  - >-
    Linux >= b801f54917b7c6e8540f877ee562cd0725e62ebd <
    efdfb1e27a3328085b79540dfe781d537b576ea1
  - Linux 2.6.19
published: '2026-09-25'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T11:17:11.130'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-97598'
references:
  - url: 'https://git.kernel.org/stable/c/2c29c053a6627dc4f12fcfe6b4860bcd9e5d7503'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/bc8d01d856db106f284b19961af6112e10c3e3b4'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/efdfb1e27a3328085b79540dfe781d537b576ea1'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fe9a906d2bff2d2707bafd6353b5e032a42aeb35'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-25T11:06:38.904Z'
---

## Overview

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

ipv4: fib: bound automatic table ID allocation

fib_empty_table() probes every table ID from 1 until it finds a
free one.  IPv4 tables are stored in a 256-bucket hash table, so a
dense set of IDs makes each probe walk a growing hash chain while
RTNL is held.

Automatic table assignment ("ip rule ... table 0") is an IPv4-only
legacy path.  Bound the automatically allocated ID to 4096 so the
RTNL hold stays bounded, without changing lookups of explicitly
specified table IDs.

This changes user-visible behavior.  A table-0 rule previously
received the lowest free ID in 1..RT_TABLE_MAX (0xFFFFFFFF).  After
this patch the search stops at 4096 and the rule add fails with
ENOBUFS if that range is fully occupied.  Explicit table IDs above
4096 remain usable.

The automatic path is unused in practice: it is IPv4-only, not
documented by ip-rule, uncovered by kernel selftests, and both
NetworkManager and systemd refuse table 0.

## Remediation

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