CVE-2025-68241

Source
https://cve.org/CVERecord?id=CVE-2025-68241
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-68241.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2025-68241
Downstream
Related
Published
2025-12-16T14:21:18.682Z
Modified
2026-03-13T04:04:03.534719Z
Summary
ipv4: route: Prevent rt_bind_exception() from rebinding stale fnhe
Details

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

ipv4: route: Prevent rtbindexception() from rebinding stale fnhe

The sit driver's packet transmission path calls: sittunnelxmit() -> updateorcreatefnhe(), which lead to fnheremoveoldest() being called to delete entries exceeding FNHERECLAIM_DEPTH+random.

The race window is between fnheremoveoldest() selecting fnheX for deletion and the subsequent kfree_rcu(). During this time, the concurrent path's _mkrouteoutput() -> findexception() can fetch the soon-to-be-deleted fnheX, and rtbindexception() then binds it with a new dst using a dsthold(). When the original fnheX is freed via RCU, the dst reference remains permanently leaked.

CPU 0 CPU 1 _mkrouteoutput() findexception() [fnheX] updateorcreatefnhe() fnheremoveoldest() [fnheX] rtbindexception() [bind dst] RCU callback [fnheX freed, dst leak]

This issue manifests as a device reference count leak and a warning in dmesg when unregistering the net device:

unregister_netdevice: waiting for sitX to become free. Usage count = N

Ido Schimmel provided the simple test validation method [1].

The fix clears 'oldest->fnhedaddr' before calling fnheflushroutes(). Since rtbind_exception() checks this field, setting it to zero prevents the stale fnhe from being reused and bound to a new dst just before it is freed.

[1] ip netns add ns1 ip -n ns1 link set dev lo up ip -n ns1 address add 192.0.2.1/32 dev lo ip -n ns1 link add name dummy1 up type dummy ip -n ns1 route add 192.0.2.2/32 dev dummy1 ip -n ns1 link add name gretap1 up arp off type gretap \ local 192.0.2.1 remote 192.0.2.2 ip -n ns1 route add 198.51.0.0/16 dev gretap1 taskset -c 0 ip netns exec ns1 mausezahn gretap1 \ -A 198.51.100.1 -B 198.51.0.0/16 -t udp -p 1000 -c 0 -q & taskset -c 2 ip netns exec ns1 mausezahn gretap1 \ -A 198.51.100.1 -B 198.51.0.0/16 -t udp -p 1000 -c 0 -q & sleep 10 ip netns pids ns1 | xargs kill ip netns del ns1

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/68xxx/CVE-2025-68241.json"
}
References

Affected packages

Git / 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
e46e23c289f62ccd8e2230d9ce652072d777ff30
Fixed
69d35c12168f9c59b159ae566f77dfad9f96d7ca
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5867e20e1808acd0c832ddea2587e5ee49813874
Fixed
4b7210da22429765d19460d38c30eeca72656282
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
67d6d681e15b578c1725bad8ad079e05d1c48a8e
Fixed
298f1e0694ab4edb6092d66efed93c4554e6ced1
Fixed
b8a44407bdaf2f0c5505cc7d9fc7d8da90cf9a94
Fixed
041ab9ca6e80d8f792bb69df28ebf1ef39c06af8
Fixed
b84f083f50ecc736a95091691339a1b363962f0e
Fixed
0fd16ed6dc331636fb2a874c42d2f7d3156f7ff0
Fixed
ac1499fcd40fe06479e9b933347b837ccabc2a40
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
bed8941fbdb72a61f6348c4deb0db69c4de87aca
Last affected
f10ce783bcc4d8ea454563a7d56ae781640e7dcb
Last affected
f484595be6b7ef9d095a32becabb5dae8204fb2a
Last affected
3e6bd2b583f18da9856fc9741ffa200a74a52cba
Last affected
5ae06218331f39ec45b5d039aa7cb3ddd4bb8008
Last affected
4589a12dcf80af31137ef202be1ff4a321707a73

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-68241.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.4.302
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.247
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.197
Type
ECOSYSTEM
Events
Introduced
5.15.0
Fixed
6.1.159
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.6.117
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.12.59
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.17.9

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-68241.json"