CVEvulnerability

CVE-2025-71097

5.5 MEDIUM Published 2026-01-13 Modified 2026-10-19 Official page ↗
Status
Modified
Published
2026-01-13
Last modified
2026-10-19
Assigner
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS 3.1 ([email protected])
5.5 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-401

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.

Affected configurations

• linux linux kernel (>= 5.3.1 < 5.10.248) • linux linux kernel (>= 5.11 < 5.15.198) • linux linux kernel (>= 5.16 < 6.1.160) • linux linux kernel (>= 6.2 < 6.6.120) • linux linux kernel (>= 6.7 < 6.12.64) • linux linux kernel (>= 6.13 < 6.18.4) • linux linux kernel 5.3 • linux linux kernel 6.19

Related

Weakness · CWE (1)

  • CWE-401 Missing Release of Memory after Effective Lifetime weakness

References