All vulnerabilities
CVE-2026-97598

Linux: ipv4: fib: bound automatic table ID allocation

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.21%Chance of exploitation activity in the next 30 days, higher than 10% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in999bc00588cb305ab25065e8a8ac31da7465301cAlso 125890702ef4417cd0ffac2e448c0cd4fbf0ac45, 3080f9e653d8c057d5652db5ced8137f81b3fcbd and 1 moreCVE List
Published25 Sep 2026Updated 19 Oct 2026CVE List

What fixes it

  • 999bc00588cb305ab25065e8a8ac31da7465301cLinuxCVE List
  • 125890702ef4417cd0ffac2e448c0cd4fbf0ac45LinuxCVE List
  • 3080f9e653d8c057d5652db5ced8137f81b3fcbdLinuxCVE List
  • 2c29c053a6627dc4f12fcfe6b4860bcd9e5d7503LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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.

Text from CVE List

Affected versions 18

  • Linuxaffected: b801f54917b7c6e8540f877ee562cd0725e62ebd before 999bc00588cb305ab25065e8a8ac31da7465301cCVE List
  • Linuxaffected: b801f54917b7c6e8540f877ee562cd0725e62ebd before f1f2da33eaab54b4d5cdea6d70befb2e2fb49cb6CVE List
  • Linuxaffected: b801f54917b7c6e8540f877ee562cd0725e62ebd before 125890702ef4417cd0ffac2e448c0cd4fbf0ac45CVE List
  • Linuxaffected: b801f54917b7c6e8540f877ee562cd0725e62ebd before 3080f9e653d8c057d5652db5ced8137f81b3fcbdCVE List
  • Linuxaffected: b801f54917b7c6e8540f877ee562cd0725e62ebd before bc8d01d856db106f284b19961af6112e10c3e3b4CVE List
  • Linuxaffected: b801f54917b7c6e8540f877ee562cd0725e62ebd before fe9a906d2bff2d2707bafd6353b5e032a42aeb35CVE List
  • Linuxaffected: b801f54917b7c6e8540f877ee562cd0725e62ebd before 2c29c053a6627dc4f12fcfe6b4860bcd9e5d7503CVE List
  • Linuxaffected: b801f54917b7c6e8540f877ee562cd0725e62ebd before efdfb1e27a3328085b79540dfe781d537b576ea1CVE List
  • Linuxaffected: 2.6.19CVE List
  • Linuxunaffected: all versions before 2.6.19CVE List
  • Linuxunaffected: 5.10.271 through 5.10.*CVE List
  • Linuxunaffected: 5.15.222 through 5.15.*CVE List
  • Linuxunaffected: 6.1.189 through 6.1.*CVE List
  • Linuxunaffected: 6.6.158 through 6.6.*CVE List
  • Linuxunaffected: 6.12.111 through 6.12.*CVE List
  • Linuxunaffected: 6.18.53 through 6.18.*CVE List
  • Linuxunaffected: 7.2.7 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 8