{"id":"CVE-2026-89790","summary":"ipv6: avoid divide by zero in rt6_multipath_rebalance","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nipv6: avoid divide by zero in rt6_multipath_rebalance\n\nrt6_multipath_rebalance() calculates the total eligible nexthop weight\nin one pass and programs upper bounds in a second pass. Since\nRTM_NEWROUTE is RTNL-free, a concurrent\nignore_routes_with_linkdown update can make the first pass return zero\nwhile the second sees an eligible nexthop, causing\nrt6_upper_bound_set() to divide by zero.\n\nUBSAN: division-overflow in net/ipv6/route.c:4845:17\nOops: divide error: 0000 [#1] SMP KASAN NOPTI\n  rt6_upper_bound_set() net/ipv6/route.c:4845\n  rt6_multipath_rebalance()\n  fib6_add_rt2node()\n  ip6_route_multipath_add()\n  inet6_rtm_newroute()\n\nSkip upper-bound calculation when the first pass reports a zero total.\nThis respects the lock-free performance considerations here and solves\ninsecure scenarios.","modified":"2026-09-18T03:48:32.638351341Z","published":"2026-09-16T08:48:26.343Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89790.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/d2c26c2911dd1a363c488add4fb63eb5f0f28f87"},{"type":"WEB","url":"https://git.kernel.org/stable/c/f30cf8fd9872299c0c27f9916252ba2b9f422dce"},{"type":"WEB","url":"https://git.kernel.org/stable/c/f82b5dbb2fef65b52a62d5ffe05e0483c4385a83"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89790.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89790"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"bd11ff421d36abdb585b9104fa70057bf01b3110"},{"fixed":"f30cf8fd9872299c0c27f9916252ba2b9f422dce"},{"fixed":"f82b5dbb2fef65b52a62d5ffe05e0483c4385a83"},{"fixed":"d2c26c2911dd1a363c488add4fb63eb5f0f28f87"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89790.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.16.0"},{"fixed":"6.18.52"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.6"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89790.json"}}],"schema_version":"1.9.0"}