CVE-2025-40149

Summary

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

tls: Use __sk_dst_get() and dst_dev_rcu() in get_netdev_for_sock().

get_netdev_for_sock() is called during setsockopt(), so not under RCU.

Using sk_dst_get(sk)->dev could trigger UAF.

Let's use __sk_dst_get() and dst_dev_rcu().

Note that the only ->ndo_sk_get_lower_dev() user is bond_sk_get_lower_dev(), which uses RCU.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxe8f69799810c32dd40c6724d829eccc70baad07f < 2b1bef126bbb8d0da51491357559126d567c1deeaffected
LinuxLinuxe8f69799810c32dd40c6724d829eccc70baad07f < e37ca0092ddace60833790b4ad7a390408fb1be9affected
LinuxLinuxe8f69799810c32dd40c6724d829eccc70baad07f < 13159c7125636371543a82cb7bbae00ab36730ccaffected
LinuxLinuxe8f69799810c32dd40c6724d829eccc70baad07f < f09cd209359a23f88d4f3fa3d2379d057027e53caffected
LinuxLinuxe8f69799810c32dd40c6724d829eccc70baad07f < feb474ddbf26b51f462ae2e60a12013bdcfc5407affected
LinuxLinuxe8f69799810c32dd40c6724d829eccc70baad07f < c65f27b9c3be2269918e1cbad6d8884741f835c5affected
LinuxLinux4.18affected
LinuxLinux0 < 4.18unaffected
LinuxLinux5.15.199 <= 5.15.*unaffected
LinuxLinux6.1.161 <= 6.1.*unaffected
LinuxLinux6.6.121 <= 6.6.*unaffected
LinuxLinux6.12.66 <= 6.12.*unaffected
LinuxLinux6.17.3 <= 6.17.*unaffected
LinuxLinux6.18 <= *unaffected

Weaknesses

References