---
id: CVE-2026-99121
title: 'ipv4: avoid divide by zero in fib_rebalance'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ipv4: avoid divide by zero in fib_rebalance

  fib_rebalance() computes the total eligible nexthop weight in one pass
  and programs upper bounds in a second pass. A concur…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 0e884c78ee19e902f300ed147083c28a0c6302f0 <
    5dac5c7ba8f5f3fb4bf29f2a2c3cb552f5b83c8f
  - >-
    Linux >= 0e884c78ee19e902f300ed147083c28a0c6302f0 <
    d5520e815c4b1427104ce1428ee23821f2aa824d
  - >-
    Linux >= 0e884c78ee19e902f300ed147083c28a0c6302f0 <
    5046d2880fec7d49ebed2fd2866747ee1d06ad71
  - Linux 4.4
published: '2026-10-28'
updated: '2026-10-28'
sourceUpdated: '2026-10-28T10:34:37.082Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-99121'
references:
  - url: 'https://git.kernel.org/stable/c/5dac5c7ba8f5f3fb4bf29f2a2c3cb552f5b83c8f'
  - url: 'https://git.kernel.org/stable/c/d5520e815c4b1427104ce1428ee23821f2aa824d'
  - url: 'https://git.kernel.org/stable/c/5046d2880fec7d49ebed2fd2866747ee1d06ad71'
tags:
  - cve.org
ingestedAt: '2026-10-28T11:09:40.448Z'
---

## Overview

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

ipv4: avoid divide by zero in fib_rebalance

fib_rebalance() computes the total eligible nexthop weight in one pass
and programs upper bounds in a second pass. A concurrent change to
ignore_routes_with_linkdown can make the first pass return zero while
the second pass sees an eligible nexthop, resulting in division by zero.

If the first pass reports a zero total, set each nexthop upper bound to
-1 and skip the division. This matches the IPv6 fix in commit
d2c26c2911dd ("ipv6: avoid divide by zero in rt6_multipath_rebalance")
and preserves the lock-free rebalance path.

## Affected

- `Linux >= 0e884c78ee19e902f300ed147083c28a0c6302f0 < 5dac5c7ba8f5f3fb4bf29f2a2c3cb552f5b83c8f`
- `Linux >= 0e884c78ee19e902f300ed147083c28a0c6302f0 < d5520e815c4b1427104ce1428ee23821f2aa824d`
- `Linux >= 0e884c78ee19e902f300ed147083c28a0c6302f0 < 5046d2880fec7d49ebed2fd2866747ee1d06ad71`
- `Linux 4.4`

## Remediation

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