Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-89790

ipv6: avoid divide by zero in rt6_multipath_rebalance

Description

In the Linux kernel, the following vulnerability has been resolved: ipv6: avoid divide by zero in rt6_multipath_rebalance rt6_multipath_rebalance() calculates the total eligible nexthop weight in one pass and programs upper bounds in a second pass. Since RTM_NEWROUTE is RTNL-free, a concurrent ignore_routes_with_linkdown update can make the first pass return zero while the second sees an eligible nexthop, causing rt6_upper_bound_set() to divide by zero. UBSAN: division-overflow in net/ipv6/route.c:4845:17 Oops: divide error: 0000 [#1] SMP KASAN NOPTI rt6_upper_bound_set() net/ipv6/route.c:4845 rt6_multipath_rebalance() fib6_add_rt2node() ip6_route_multipath_add() inet6_rtm_newroute() Skip upper-bound calculation when the first pass reports a zero total. This respects the lock-free performance considerations here and solves insecure scenarios.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • bd11ff421d36abdb585b9104fa70057bf01b3110 to < f30cf8fd9872299c0c27f9916252ba2b9f422dceaffected
  • bd11ff421d36abdb585b9104fa70057bf01b3110 to < f82b5dbb2fef65b52a62d5ffe05e0483c4385a83affected
  • bd11ff421d36abdb585b9104fa70057bf01b3110 to < d2c26c2911dd1a363c488add4fb63eb5f0f28f87affected

Linux Linux

Default version status: affected

  • 6.16affected
  • 0 to < 6.16unaffected
  • 6.18.52 to ≤ 6.18.*unaffected
  • 7.2.6 to ≤ 7.2.*unaffected
  • 7.3 to ≤ *unaffected

References