CVE-2025-40139

Summary

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

smc: Use __sk_dst_get() and dst_dev_rcu() in in smc_clc_prfx_set().

smc_clc_prfx_set() is called during connect() and not under RCU nor RTNL.

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

Let's use __sk_dst_get() and dev_dst_rcu() under rcu_read_lock() after kernel_getsockname().

Note that the returned value of smc_clc_prfx_set() is not used in the caller.

While at it, we change the 1st arg of smc_clc_prfx_set[46]_rcu() not to touch dst there.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxa046d57da19f812216f393e7c535f5858f793ac3 < 5a2fccc4b32c13ddde3676f9e15e1a9baa7d6fdeaffected
LinuxLinuxa046d57da19f812216f393e7c535f5858f793ac3 < 80d1fd39f4e37d836655e9f7ffccaf78925049bfaffected
LinuxLinuxa046d57da19f812216f393e7c535f5858f793ac3 < 956c57daba55cf9ed25d9f2512883b8a1a927599affected
LinuxLinuxa046d57da19f812216f393e7c535f5858f793ac3 < 0736993bfe5c7a9c744ae3fac62d769dfdae54e1affected
LinuxLinuxa046d57da19f812216f393e7c535f5858f793ac3 < 935d783e5de9b64587f3adb25641dd8385e64ddbaffected
LinuxLinux4.11affected
LinuxLinux0 < 4.11unaffected
LinuxLinux6.1.187 <= 6.1.*unaffected
LinuxLinux6.6.156 <= 6.6.*unaffected
LinuxLinux6.12.108 <= 6.12.*unaffected
LinuxLinux6.17.3 <= 6.17.*unaffected
LinuxLinux6.18 <= *unaffected

Weaknesses

References