Linux: ipv4: avoid divide by zero in fib_rebalance
What fixes it
- 5dac5c7ba8f5f3fb4bf29f2a2c3cb552f5b83c8fLinuxCVE List
- 5046d2880fec7d49ebed2fd2866747ee1d06ad71LinuxCVE 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: 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.
Text from CVE List
Affected versions 8
- Linuxaffected: 0e884c78ee19e902f300ed147083c28a0c6302f0 before 5dac5c7ba8f5f3fb4bf29f2a2c3cb552f5b83c8fCVE List
- Linuxaffected: 0e884c78ee19e902f300ed147083c28a0c6302f0 before d5520e815c4b1427104ce1428ee23821f2aa824dCVE List
- Linuxaffected: 0e884c78ee19e902f300ed147083c28a0c6302f0 before 5046d2880fec7d49ebed2fd2866747ee1d06ad71CVE List
- Linuxaffected: 4.4CVE List
- Linuxunaffected: all versions before 4.4CVE List
- Linuxunaffected: 6.18.59 through 6.18.*CVE List
- Linuxunaffected: 7.2.13 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List