CVE-2025-71097

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

MEDIUM 5.5

At a glance

Source
NVD
EPSS
EPSS 0.14 % · percentile 3 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Modified

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.

Weaknesses (CWE)

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

References

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected 493ced1ac47c48bb86d9d4e8e87df8592be85a0e < 5de7ad7e18356e39e8fbf7edd185a5faaf4f385a ; affected 493ced1ac47c48bb86d9d4e8e87df8592be85a0e < 33ff5c207c873215e54e6176624ed57423cb7dea ; affected 493ced1ac47c48bb86d9d4e8e87df8592be85a0e < 30386e090c49e803c0616a7147e43409c32a2b0e ; affected 493ced1ac47c48bb86d9d4e8e87df8592be85a0e < 5979338c83012110ccd45cae6517591770bfe536 ; affected 493ced1ac47c48bb86d9d4e8e87df8592be85a0e < ee4183501ea556dca31f5ffd8690aa9fd25b609f ; affected 493ced1ac47c48bb86d9d4e8e87df8592be85a0e < e3fc381320d04e4a74311e576a86cac49a16fc43
Linux · Linuxaffected 5.3 ; unaffected 0 < 5.3 ; unaffected 5.10.248 ≤ 5.10.* ; unaffected 5.15.198 ≤ 5.15.* ; unaffected 6.1.160 ≤ 6.1.* ; unaffected 6.6.120 ≤ 6.6.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD