GHSA-hc39-xg82-jgf4MediumCVSS 5.5

In the Linux kernel, the following vulnerability has been resolved: ipv4: Fix reference count...

Published
January 13, 2026
Last Modified
July 14, 2026

🔗 CVE IDs covered (1)

📋 Description

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

ipv4: Fix reference count leak when using error routes with nexthop objects

When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.

The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:

ip link add name dummy1 up type dummy

ip nexthop add id 1 dev dummy1

ip route add 198.51.100.1/32 nhid 1

ip route add blackhole 198.51.100.2/32 nhid 1

ip nexthop del id 1

ip route show

blackhole 198.51.100.2 nhid 1 dev dummy1

As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:

ip link del dev dummy1

[ 70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2

Fix by flushing error routes when their nexthop is marked as dead.

IPv6 does not suffer from this problem.

🔗 References (10)